)1)оценки в соревнованиях по фигурному катанию выставляются 9 судьями.потом одна самая низкая и одна самая высокая оценки отбрасываются и в зачет идет среднее арифметическое оставшихся оценок.составьте программу,которая определяет зачетную оценку спортсмена.оценки судей ввести с клавиатуры(целые числа от 1 до 6). var max,min,i: integer; b: real; a: array[1..9]of integer; begin for i: =1 to 9 do begin while (a[i]< 1) or (a[i]> 6) do begin write(i,' оценка: '); readln(a[i]); end; if i=1 then begin max: =a[1]; min: =a[1]; end; if a[i]> max then max: =a[i]; if a[i] b: =b+a[i]; end; b: =(b-min-max)/7; writeln('зачетная оценка: ',b); end. что тут не так

PomogiSPb PomogiSPb    2   13.08.2019 11:40    2

Ответы
erlan002 erlan002  02.08.2020 15:01
If a[i] b:=b+a[i];
это к чему? где then?

максимум находишь и аналогично минимум.

для чистоты кода ещё бы б=0 в начале.

такие дела. програмЬ!
ПОКАЗАТЬ ОТВЕТЫ
Yarick2005 Yarick2005  02.08.2020 15:01
Здесь очень много не так. Вы ссылаетесь на итый элемент массива вне тела цикла, это бессмысленно, ведь индексация i происходит только в цикле, после его окончания i всегда равен конечному значению. Далее Вы делаете проверку условия для элемента массива, когда ещё нет значений этих элементов. Далее Вы вводите в программу элементы массива в цикле по условию, что 1>оценка>6, откуда взялся такой бред я даже представить не могу. Ну и ещё несколько мелких ошибок. Программу надо переделать полностью.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика