PascalABC.NET Задать массив из 8-ми элементов заданных с клавиатуры. Найти...

0 голосов
106 просмотров

PascalABC.NET

Задать массив из 8-ми элементов заданных с клавиатуры. Найти среднеарифметическое всех элементов и наибольший элемент. (В развёрнутой форме, без команд ReadInteger, ReadArrInteger, Average и др.)


Информатика (162 баллов) | 106 просмотров
0

Т.е. для того чтобы найти допустим среднеарифметическое нужно сначала сложить все элементы, после разделить на кол-во элементов, а не командой Average. Думаю имелось ввиду что-то подобное

0

PROGRAM yaPak;vara:array[1..8]of integer;i,max:integer;y:real;BEGINy:=0;for i:=1 to 8 dobeginreadln(a[i]);y:=y+a[i];writeln('a[',i,']=',a[i]);end;y:=y/8;max:=1;for i:=1 to 8 dobeginif a[max] <= a[i] thenbeginmax:=i;end;end;writeln('cpegHeapuFMeTu4eckoe=',y);writeln('a[',i,']=',a[max],' caMbiII 6oJlbIIIoII eJleMeHT');END. породон, в последнем до слов END. где writeln('a[',i тут заменить i на max,']=',a[max],' caMbiII 6oJlbIIIoII eJleMeHT');

Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1600 от 23.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (n,s,max):=(8,0,-MaxInt);
  var a:=new integer[n];
  Write('Введите 8 элементов массива: ');
  for var i:=0 to n-1 do begin
    Read(a[i]);
    s+=a[i];
    if a[i]>max then max:=a[i]
    end;
  Writeln('max=',max,', среднее=',s/n:0:5)
end.
 
Пример
Введите 8 элементов массива: 38 46 29 50 42 38 40 41
max=50, среднее=40.50000

(150k баллов)
0

Понимаю, но просто такую работу вряд ли примут, т.к. она не будет работать. Я уже работал с Паскалем в своём УЗ и там версия даже старше моей

0

Да, ошибся

0

Версия младше моей*

0

Знаю. И изначально эта программа выходила в 2 строки, но к сожалению её не приняли, т.к. Паскаль в УЗ не обновляется

0

Вопрос пересоздам, спасибо

0 голосов

Program wk;
var m:array [1..8] of integer; i:integer;sr:real;imax:integer ;
begin
sr:=0;imax:=0; 
for i:=1 to 8 do 
 begin 
   Readln(m[i]); 
   if m[i]>imax then imax:=M[i]; 
   end; 
for i:=1 to 7 do  sr:=m[i]+m[i+1];
Writeln('Среднее арифметическое=',sr/8);
Writeln('Наибольший элемент =',imax)   
end.

(4.0k баллов)
0

PROGRAM yaPak;
var
a:array[1..8]of integer;
i,max:integer;
y:real;
BEGIN
y:=0;
for i:=1 to 8 do
begin
readln(a[i]);
y:=y+a[i];
writeln('a[',i,']=',a[i]);
end;
y:=y/8;
max:=1;
for i:=1 to 8 do
begin
if a[max] <= a[i] then<br> begin
max:=i;
end;
end;
writeln('cpegHeapuFMeTu4eckoe=',y);
writeln('a[',i,']=',a[max],' caMbiII 6oJlbIIIoII eJleMeHT');
END.

0

породон, в последнем до слов END. где writeln('a[',i тут заменить i на max,']=',a[max],' caMbiII 6oJlbIIIoII eJleMeHT');