В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
ХЕЛП209
ХЕЛП209
24.01.2021 17:26 •  Информатика

Шарящие в паскале, , решить . задан одномерный массив, заполненный случайными числами: 1)определить среднее модулей минимального и максимального значений. 2)написать подпрограмму, которая определяет индекс минимального или максимального значения. 3) решить 1 на основе 2.

Показать ответ
Ответ:
Ксения61831378
Ксения61831378
28.05.2020 18:44

1)

var

 ar: array of integer;

 n, min, max: integer;

begin

 write('Введите размер массива:');

 read(n);

 setlength(ar, n);

 if (n > 0) then  

 begin

   ar[0] := random(-10, 10);

   min := ar[0];

   max := ar[0];

   write(ar[0]:4);

 end;

 for var i := 1 to n - 1 do

 begin

   ar[i] := random(-10, 10);

   if (ar[i] < min) then min := ar[i]

   else if (ar[i] > max) then max := ar[i];

   write(ar[i]:4);

 end;

 writeln(#13#10 + 'Среднее геометрическое модулей минимального и максимального значений = ',  

         sqrt(abs(max) * abs(min)):5:5);

end.

2)

function minOrMax(ar: array of integer; size: integer; findMin: boolean): integer;

var

 index: integer;

begin

 index := 0;

 for var i := 1 to size - 1 do

   if (findMin) and (ar[i] < ar[index]) then index := i

   else if (not findMin) and (ar[i] > ar[index]) then index := i;

 result := index;

end;

3)

function minOrMax(ar: array of integer; size: integer; findMin: boolean): integer;

var

 index: integer;

begin

 index := 0;

 for var i := 1 to size - 1 do

   if (findMin) and (ar[i] < ar[index]) then index := i

   else if (not findMin) and (ar[i] > ar[index]) then index := i;

 result := index;

end;

var

 ar: array of integer;

 n: integer;

begin

 write('Введите размер массива:');

 read(n);

 setlength(ar, n);

 if (n > 0) then  

 begin

   ar[0] := random(-10, 10);

   write(ar[0]:4);

 end;

 for var i := 1 to n - 1 do

 begin

   ar[i] := random(-10, 10);

   write(ar[i]:4);

 end;

 writeln(#13#10 + 'Среднее геометрическое модулей минимального и максимального значений = ',  

         sqrt(abs(ar[minOrMax(ar, n, true)]) * abs(ar[minOrMax(ar, n, false)])):5:5);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота