Предмет: Информатика, автор: yarahasna8

(pascal)
Дан массив из 5-и положительных элементов, введённых с клавиатуры.

Пользователь вводит символ.

Если пользователь вводит символ «X» или «x», то найти наименьший элемент массива и вывести на экран индекс этого элемента.

Если пользователь вводит символ «Y» или «y», то отсортировать элементы массива от большего к меньшему.

Если пользователь вводит символ «Z» или «z», то найти сумму элементов массива.

Ответы

Автор ответа: FANTSCR1N
0

 var a: array[1..5] of integer;

     s: char;

     min, i, j, k: integer;

begin

 writeln('Введите массив:');

 for i:=1 to 5 do

 begin

   write('a[',i,'] = ');

   readln(a[i]);

 end;

 

 for i:=1 to 5 do

   write(a[i], ' ');

 writeln;

 

 write('Введите символ (x, y, z): ');

 readln(s);

 

 if (s = 'x') or (s = 'X') then

 begin

   min := a[1];

   k := 1;

   for i:= 2 to 5 do

     if min > a[i] then  

     begin

       min:= a[i];

       k:= i;

     end;

   writeln('Min = ', min, ', Index = ', k);

 end;

 

 if (s = 'y') or (s = 'Y') then

 begin

   for i:= 1 to 5 do

     for j:= 1 to 4 do

       if a[j] > a[j + 1] then

       begin

         k:= a[j];

         a[j]:= a[j + 1];

         a[j + 1]:= k;

      end;

       

   for i:=1 to 5 do

     write(a[i], ' ');

   writeln;                          

 end;

 

 if (s = 'z') or (s = 'Z') then

 begin

   for i:=1 to 5 do

     k:= k + a[i];

     

   writeln('Сумма = ', k);

 end;

end.

 

Автор ответа: BobbyFresnel
0

begin

 var a := ReadArrInteger('Введите 5 чисел:', 5);

 Readln;

 var c := ReadChar('Введите символ x, y или z:').ToLower;

 case c of

   'x': Print('Индекс наименьшего элемента (отсчет от 0):', a.IndexMin);

   'y': a.OrderDescending.Print;

   'z': Print('Сумма элементов массива:', a.Sum);

 else

   begin

     Print('Недопустимый символ');

     exit

   end

 end

end.

Приложения:
Похожие вопросы
Предмет: Русский язык, автор: макс744
Предмет: Русский язык, автор: Girl7771
Предмет: Алгебра, автор: Pitar1