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

Нужна . найти ошибки - паскаль. условие: дан одномерный массив, состоящий из вещественных элементов. найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. не совсем то выводит, и модуль может как-то через abs надо. program proizvedenie; var q,z,w,i,n,i1,i2: integer; a: array[1..1000] of real; amin,amax,pr: real; begin assign (input,'input.txt'); assign (output,'output.txt'); reset (input); rewrite (output); readln(n); for i: =1 to n do read (a[i]); amin: =a[1]; for i: =1 to n do begin if a[i] amax then amax: =a[i]; i2: =i; end; if i2> i1 then begin q: =i1; w: =i2; end else begin q: =i2; w: =i1; end; if (w-q)> 1 then begin pr: =1; for z: =q to w do pr: =pr*a[z]; end else write (0); close (input); close (output); end.

Показать ответ
Ответ:
ПомидоркаЛ
ПомидоркаЛ
23.06.2020 08:15
Не гарантирую, что нет иных ошибок, но:
for z:=q to w do
pr:=pr*a[z];
в этом случае перемножаются максимальный и минимальные элемент тоже. нужно
for z:=q + 1 to w - 1 do
pr:=pr*a[z];

и, да, нужно с модулем
if abs(a[i])<abs(amin) then
begin
amin:=a[i];

if abs(a[i]) > abs(amax) then
а здесь где begin???
amax:=a[i];
i2:=i;

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