var
a,b,c: array [1..20] of integer;
i,k,l: integer;
begin
randomize;
k: =1;
l: =1;
writeln ('исходный массив: ');
for i: =1 to 20 do
begin
a[i]: =random(9)+1;
if a[i] mod 2 = 0 then
begin
b[k]: =a[i];
inc(k);
end else
begin
c[l]: =a[i];
inc(l);
end;
write (a[i],' ');
end;
k: =k-1;
l: =l-1;
writeln;
writeln ('массив четных чисел');
for i: =1 to k do write (b[i],' ');
writeln;
writeln ('массив нечетных чисел');
for i: =1 to l do write (c[i],' ');
writeln;
readln;
end.
Поделитесь своими знаниями, ответьте на вопрос:
пишу вторым номером, поэтому постараюсь на качество.
нам нужно найти сначала сумму всего роста, потом поделить его на общее количество учеников. потом сопоставить каждый элемент со средним числом и высчитать количество высоких учеников.
будет это выглядить так:
uses crt; //если используете паскаль abc, это строка нужна для удобстваvar a: array [1..25] of real; i,otvet: integer; h,s: real;
//объявляем переменные. массив,среднее число и суммарный рост - любые числа. сам ответ - целые числаbegin for i: =1 to 25 do begin writeln('введите рост ученика номер ',i); readln(a[i]);
//здесь мы вводим рост с клавиатуры end; for i: =1 to 25 do s: =s+a[i];
//находим суммарный рост всех учеников h: =s/25; // делим на их количество. теперь переменная h - это средний рост for i: =1 to 25 do if a[i]> h then otvet: =otvet+1; // а здесь проверяем каждый элемет массива. если он выше значения среднего роста, мы прибавляем единицу к переменной "otvet". там мы считаем количество высоких уч. writeln('средний рост в классе равен ',h); writeln('количество высоких учеников в классе равно ',otvet);
//вывод данныхend.