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

Напишите программу на Паскале по обработке одномерных массивов. Количество элементов в массиве задается самим пользователем, а сам массив генерируется из случайных чисел. Результаты вывести на экран. Каждый элемент массива генерируется по следующей формуле:

x = random (B-A+1) +A

Вариант 4

В одномерном массиве, состоящем из n вещественных элементов, вычислить:

произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами

Показать ответ
Ответ:
sashacom13
sashacom13
12.01.2022 03:47

Программа:

Pascal:

№1)

const max = 100;

var

 arr: array[1..max] of real;

 i: integer;

 n, A, B: integer;

begin

 randomize;

 repeat

   write('n = ');

   readln(n);

 until n in [1..max];

 write('A = ');  readln(A);

 write('B = ');  readln(B);

 writeln('Массив: ');

 for i := 1 to n do begin

   arr[i] := random(B - A + 1) + A;

   write(arr[i]:5:1);

 end;

end.

№2)

const max = 100;

var

 arr: array[1..max] of real;

 A, B, s, pr: real;

 n, i, j, arrMax, arrMin: byte;

begin

 randomize;

 s := 0;

 arrMax := 1;

 arrMin := 1;

 

 repeat

   write('n = ');

   readln(n);

 until n in [1..max];

 write('A = ');  readln(A);

 write('B = ');  readln(B);

 writeln('Массив: ');

 for i := 1 to n do begin

   arr[i] := random(B - A + 1) + A;

   write(arr[i]:5:1);

 end;

 

 for i := 1 to n do begin

   if abs(arr[i]) < abs(arr[arrMin]) then arrMin := abs(i);

   if abs(arr[i]) > abs(arr[arrMax]) then arrMax := abs(i);

 end;

 if abs(arrMax - arrMin) = 1 then begin

   writeln(); writeln('Между минимальным и максимальным значениями нет элементов.')

 end

 else begin

   if arrMax < arrMin then begin

     j := arrMin;

     arrMin := arrMax;

     arrMax := j;

   end;

   pr := 1;

   for i := arrMin + 1 to arrMax - 1 do pr := pr * arr[i];

   writeln();  writeln('Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами: ', pr:0:2);

 end;

   

end.

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