Рост учеников класса представлен в виде массива. Рост девочек кодируется знаком «+», рост...

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

Рост учеников класса представлен в виде массива. Рост девочек кодируется знаком «+», рост мальчиков – знаком «-». Определить средний рост мальчиков.


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

тоесть рост девочек это положительные числа, а рост мальчиков отрицательные?

Дано ответов: 2
0 голосов
Правильный ответ

Const
  nn=40; { максимальное количество школьников в классе}
 
var
  n,i,k,s:integer;
  a:array[1..nn] of integer;
 
begin
  Write('Количество учеников в классе: '); Read(n);
  Writeln('Введите рост школьников');
  s:=0; k:=0;
  for i:=1 to n do begin
    Read(a[i]);
    if a[i]<0 then begin s:=s+a[i]; k:=k+1 end;<br>    end;
  if k=0 then Writeln('Сведения о росте мальчиков отсутствуют')
  else Writeln('Средний рост мальчиков равен ',-s/k:0:1)
end.

(142k баллов)
0 голосов

C++
------------
#include using namespace std;int main(){float mas[5]={154,-123,-200,334,-234};float sum=0,counter=0;for(int i=0;i<5;i++){ if(mas[i]<0){ sum+=mas[i]; counter++; }}cout<<sum/counter<<endl;return 0;}

(799 баллов)
0

это на какой язык?

0

я же написал C++

0

а упустил, огромное спасибо, а на паскаль сможешь?

0

Мне кажется, отрицательный средний рост - это абсурд.

0

это к чему?

0

К результату работы Вашего кода))

0

ну в данном случае знак говорит о том, что рост именно мальчиков. но если Вас этот минус так напрягает я сейчас же исправлю этот недочет

0

#include
using namespace std;
int main(){
float mas[5]={154,-123,-200,334,-234};
float sum=0,counter=0;
for(int i=0;i<5;i++){<br>if(mas[i]<0){<br>sum+=mas[i];
counter++;
}
}
cout<<sum/counter*-1<<endl;<br>return 0;
}

0

Меня лично не напрягает. Я о том, что выходные данные программы обычно не носят на себе следов входного кодирования. Мы ведь знаем, что запрашивается информация по мальчикам, зачем же еще дополнительно как бы давать её в знаке средней величины?

0

Ладно, я Вас понял