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

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

Показать ответ
Ответ:
далина3
далина3
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-бота