• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Ввести строку и инвертировать каждое слово

  • Автор темы Автор темы Wenia
  • Дата начала Дата начала

Wenia

Ученик
Регистрация
15 Ноя 2012
Сообщения
6
Реакции
0
Баллы
0
Ввести строку и инвертировать каждое слово

Помогите составить на языке Паскаль программу, управляющуюся с помощью меню. А то я ничего в этом не понимаю :confused:tehno043
В меню обязательно должны войти пункты:
1) ввод и обработка символьной строки с выводом результатов; (задача1)
2) ввод и обработка двумерного массива с выдачей результатов;(задача2)
3) выход из программы (с подтверждением).

Алгоритмы задач 1 и 2 оформить в виде процедур или функций, внутренних по отношению к главной программе.

Задача №1.
Ввести строку и инвертировать каждое слово.
Задача №2.
Ввести матрицу и определить в ней максимум с координатами / минимум с координатами.

Матрицу и число строк/столбцов ввести должна сама.
И нужно сделать так, что бы матрица вводилась в ручную, а не заполнялась рандомом.

:tehnari_ru_203:)
 
А то я ничего в этом не понимаю
Что весьма прискорбно, Веня. Ну хорошо, нарисую я Вам эту дурацкую задачку - а дальше что? Задания - они, знаете ли, имеют такое поганое свойство усложняться с течением времени, и как? Дальше будет "сделайте мне курсовую, а я пошел футбол смотреть"? Нет, на форумах далеко не уедете, уверяю Вас. Так что решайте, пока не поздно - браться ли за ум или поиметь перспективу отчисления. А задачка - да пожалуйста:

Код:
Var
 YN:Char;
 Game:Byte;

Procedure String_Game;
Var
 S:String;
 W,Wrd:Array[1..100] of String;
 Nw,i,j:Byte;
begin
 Writeln('Enter the string:');
 Readln(S);
 Nw:=1;
 i:=0;
 W[Nw]:='';
 Repeat
  Inc(i);
  If (S[i]<>' ') and (i<=Length(S)) then
   W[Nw]:=W[Nw]+S[i]
  else
  If S[i]=' ' then
   begin
    repeat
     Inc(i);
    until S[i]<>' ';
    Dec(i);
    Inc(Nw);
    W[Nw]:='';
   end;
 Until i>Length(S);
 For i:=1 to Nw do
  begin
   For j:=Length(W[i]) downto 1 do Write(W[i][j]);
   If i<Nw then Write(' ');
  end;
 Writeln
end;

Procedure Matrix_Game;
Const
 Mmax=9;
 Nmax=9;
Var
 A:Array[1..Mmax,1..Nmax] of Integer;
 M,N,i,j,Imin,Imax,Jmin,Jmax:Byte;
 Min,Max:Integer;
begin
 Write('Number of lines = ');
 Readln(M);
 Write('Number of columns = ');
 Readln(N);
 For i:=1 to M do
  For j:=1 to N do
   begin
    Write('A[',i,',',j,']= ');
    Readln(A[i,j]);
   end;
 Writeln;
 Imin:=1;
 Jmin:=1;
 Imax:=1;
 Jmax:=1;
 Min:=A[1,1];
 Max:=A[1,1];
 For i:=1 to M do
  begin
   For j:=1 to N do
    begin
     Write(A[i,j]:8);
     If A[i,j]<Min then
      begin
       Min:=A[i,j];
       Imin:=i;
       Jmin:=j;
      end;
     If A[i,j]>Max then
      begin
       Max:=A[i,j];
       Imax:=i;
       Jmax:=j;
      end;
    end;
   Writeln;
  end;
 Writeln;
 Writeln('Minimal element is A[',Imin,',',Jmin,']=',A[Imin,Jmin]);
 Writeln('Maximal element is A[',Imax,',',Jmax,']=',A[Imax,Jmax]);
 Writeln;
end;

Begin
 Repeat
  YN:=' ';
  Write('Choose the game: 1 - String, 2 - Matrix, 3 - Exit ');
  Readln(Game);
  If Game=1 then String_Game;
  If Game=2 then Matrix_Game;
  If Game=3 then
   begin
    Write('Are you sure (Y/N)? ');
    Readln(YN);
   end;
 Until (YN='Y') or (YN='y');
End.
 
Vladimir_S, спасибки за задачку!))) =*)))
Ох, я не переживаю за отчисление ибо по всем предметам, кроме информатики у меня все прекрасно)) И курсовая уже написана))
Просто нам поставили на 1 семестр этот предмет, а я как гуманитарий ничегошеньки в этом не смыслю(никогда не понимала ни икт, ни физику, зато прекрасно знаю историю и обществознание)), мне осталось потерпеть всего месяц и этот кошмар закончиться))
И я уже не появлюсь на этом форуме, с просьбами о помощи)) ^.^
 
Назад
Сверху