Рост учеников класса представлен в виде массива. Рост девочек кодируется знаком «+», рост мальчиков – знаком «-». Определить средний рост мальчиков.
тоесть рост девочек это положительные числа, а рост мальчиков отрицательные?
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.
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;}
это на какой язык?
я же написал 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++){<br>if(mas[i]<0){<br>sum+=mas[i]; counter++; } } cout<<sum/counter*-1<<endl;<br>return 0; }
Меня лично не напрягает. Я о том, что выходные данные программы обычно не носят на себе следов входного кодирования. Мы ведь знаем, что запрашивается информация по мальчикам, зачем же еще дополнительно как бы давать её в знаке средней величины?
Ладно, я Вас понял