М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
тетямотя7
тетямотя7
24.04.2021 04:00 •  Информатика

Нужно посчитать кол-во двоек, троек, четвёрок, пятёрок за диктант и вывести средний был всей работы. program p1; const n=20; var i,a1,two,theere,fore,five,sum: integer; sr: double; a: array[1..20] of integer; begin two: =0; theere: =0; fore: =0; five: =0; sr: =0; sum: +0; for i: =1 to n do begin read(a1); a[i]: =a1; if a[i]=2 then two: =two+1; if a[i]=3 then theere: =theere+1; if a[i]=4 then fore: =fore+1; if a[i]= 5 then five: =five+1; end; writeln('количество двоек: ',two); writeln('количество троек: ',theere); writeln('количество четвёрок: ',fore); writeln('количество пятёрок: ',five); //sr: =(two+theere+fore+five)/n; writeln(sr); end.

👇
Ответ:
{ У тебя было two+theere+fore+five, т.е. ты складываешь все тройки четверки и тд и делишь на их количество, т.е. всегда будет "1", нужно посчитать сумму и поделить на количество.
Подправил твой код:}
program p1;
const n=20;
var i,a1,two,theere,fore,five,sum:integer;
sr:double;
a:array[1..20] of integer;
begin
two:=0;
theere:=0;
fore:=0;
five:=0;
sr:=0;
sum:=0;
for i:=1 to n do
begin
read(a1);
sum:= sum + a1;
a[i]:=a1;
if a[i]=2 then
two:=two+1;
if a[i]=3 then
theere:=theere+1;
if a[i]=4 then
fore:=fore+1;
if a[i]= 5 then
five:=five+1;

end;
writeln('Количество двоек: ',two);
writeln('Количество троек: ',theere);
writeln('Количество четвёрок: ',fore);
writeln('Количество пятёрок: ',five);
sr:=(sum)/n;
writeln(sr);
end.
4,4(91 оценок)
Открыть все ответы
Ответ:
VeNoM13371
VeNoM13371
24.04.2021
1. Современное решение (быстро, просто и легко)
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln('Ср.арифм: ',ReadSeqRealWhile(k->k>=0).Average:0:4)
end.

Пример
23 11.7 0 12.9 16.7 13 -12
Ср.арифм: 12.8833

2. Школьный вариант в стиле "1983г." (Turbo Pascal 7.0)

uses Crt;
var
  n:integer;
  x,a:real;
begin
  a:=0;
  n:=0;
  repeat
    Read(x);
    if x>=0 then begin
      n:=n+1;
      a:=a+x
      end
  until x<0;
  a:=a/n;
  Writeln('Ср.арифм: ',a:0:4);
  ReadKey
end.
4,5(52 оценок)
Ответ:
KOTIK22811
KOTIK22811
24.04.2021

var a,b:integer;


c,d:real;


begin


a:=random(50); // Если нужно вводить своё число, то тогда "a:= *заданное число*" или, иначе, readln(a) "


writeln('Число "a" приняло значение ', a); // Если будет один из двух показанных выше, то эта строка не является обязательной.


b:=random(100); // Если нужно вводить своё число, то тогда "b:= *заданное число*" или, иначе, readln(b) "


writeln('Число "b" приняло значение ', b); // Если будет один из двух выше, то эта строка не является обязательной.


c:=((a+b)/2);


writeln('Среднее арифметическое данных двух чисел ', c);


d:=(sqrt(abs(a*b)));


writeln('Среднее геометрическое данных чисел ', d);


end.

4,8(69 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ