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

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

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

Вариант 4

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

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

Ответ:
Fjkskdnxk
Fjkskdnxk
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?