PascalABC 1. Найти средне арифметическое элементов массива, превосходящих некоторое число...

0 голосов

PascalABC 1. Найти средне арифметическое элементов массива, превосходящих некоторое число С. 2. Вывести только нечетные элементы. 3. Найти среднее арифметическое элементов с нечетными номерами.


спросил от (17 баллов) в категории Информатика
оставил комментарий от

посмотри мое решение, оно хоть без ошибок

оставил комментарий от

сорри, но теперь я исправил

2 Ответы
0 голосов
ответил от (46 баллов)
 
Лучший ответ

program first;

var a:array[1..100] of integer;

i,s,k,n,c:integer;

sr:real;

begin

read(n); {кол-во элементов массива}

for i:=1 to n do

read(a[i]); {ввод массива}

read(c); {ввод числа C}

s:=0; k:=0;

for i:=1 to n do

if (a[i]>c) then begin s:=s+a[i]; k:=k+1; end;

sr:=s/k; {считаем среднее арефмет.}

writeln(sr); {выводим ср. арефм.}

for i:=1 to n do

if a[i] mod 2<>0 then write(a[i],' '); {делаем 2 пункт}

writeln;

s:=0; k:=0; {обнулим чтобы использовать еще раз}

for i:=1 to n do

if a[i] mod 2<>0 then begin s:=s+a[i]; k:=k+1; end;

sr:=s/k;


writeln(sr);

end.


image
image
оставил комментарий от (17 баллов)

Я понял

оставил комментарий от (17 баллов)

Теперь все робит

оставил комментарий от (17 баллов)

Не работает (

оставил комментарий от БОГ (678k баллов)

ну теперь проверь

оставил комментарий от БОГ (678k баллов)

прежде чем отмечать чужие решения как нарушение - проверь, прав ли ты

оставил комментарий от БОГ (678k баллов)

сорри

оставил комментарий от БОГ (678k баллов)

вот прикрепил скрин

оставил комментарий от БОГ (678k баллов)

как видно все работает

оставил комментарий от (17 баллов)

Спасибо большое

0 голосов
ответил от Начинающий (224 баллов)

var a:array of longint;

i,c,x,n,k:longint;

begin

read(n); //длина массива

a:= new longint[n];

for i:=0 to n-1 do read(a[i]);

read(c);//некоторое число С

for i:=0 to n-1 do

if a[i]>c then

begin

k+=1;

x+=a[i]

end;

writeln(x/k);//ответ на первый пункт

k:=0;

x:=0;

for i:=0 to n-1 do

if i mod 2=0 then

begin

k+=1;

x+=a[i];

print(a[i])//второй пункт

end;

writeln;

write(x/k)// третий пункт

end.

оставил комментарий от БОГ (678k баллов)

я приложил скрин к своей работе, где твою прога не работает

оставил комментарий от БОГ (678k баллов)

но на pacsalABC это не пойдет(

оставил комментарий от БОГ (678k баллов)

боже, какой версии у тебя паскальабц?я то последнюю использую) там все робит

оставил комментарий от БОГ (678k баллов)

мб тебе скрин приложить?)

оставил комментарий от БОГ (678k баллов)

чел, я писал в компиляторе паскальабц, все мопилируется и работае

оставил комментарий от БОГ (678k баллов)

ну

оставил комментарий от БОГ (678k баллов)

я вникал в код

оставил комментарий от БОГ (678k баллов)

решение абсолютно верное, просто тебе нужно вникнуть в код

оставил комментарий от БОГ (678k баллов)

хочешь прикол?размер массива считывается из консоли, тк не было указано в условии какой размерности массив

оставил комментарий от БОГ (678k баллов)

var a:array[1..100] of longint;

...