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

Нужна . найти ошибки - паскаль. условие: дан одномерный массив, состоящий из вещественных элементов. найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. не совсем то выводит, и модуль может как-то через 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.

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