Помощь - Поиск - Пользователи - Календарь
Полная версия: Среднее Арифметическое
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
X-MEN
Привет. Мне нужна помощь в решении задачи:
В классе n учеников, за контрольную они получили разные оценки необходимо вывести на экран список учеников и рядом их оценки, а затем вывести средний бал.
klem4
Код
uses crt;
var
   x:array[1..100] of integer;
   i,n:integer;
   s:extended;
Begin
  clrscr;
  write('Vvedite kol-vo y4enikov ');
  readln(n);
  s:=0;
  for i:=1 to n do
   begin
      write('Vvedite Ocenky',i,'-go u4enika ');
      readln(x[i]);
      s:=s+x[i];
   end;

 clrscr;
 for i:=1 to n do
   writeln('Ocenka',i,'-go u4enika - ',x[i]);
 writeln;
 writeln('Sredny bal = ',s/n:2:1);
 readln;
End.
X-MEN
Мне нужно что бы на экране было имя ученика, а рядом оценка.
volvo
X-MEN
Ну опишите еще один массив из строк, и заносите фамилии в него. А потом - на экран. Неужели каждую запятую писать надо в программе? Самому подумать - никак нельзя?
X-MEN
Вот и проблема как можно составить массив из строк.
volvo
Код
var st: array[1..100] of string;

Это проблема?
Guest
volvo
Но он то будет запоминать все в одной строке.
volvo
Правда? А зачем тогда вот такая конструкция:
Код
for i := 1 to 10 do
 readln(st[i]);
for i := 1 to 10 do
 writeln(st[i]);

Хотя вполне возможно что я ошибаюсь sad.gif
Guest
volvo
Я так пробовал, не получается.
volvo
Код
uses crt;
var
  x:array[1..100] of integer;
  st:array[1..100] of string;
  i,n:integer;
  s:extended;
Begin
 clrscr;
 write('Vvedite kol-vo y4enikov ');
 readln(n);
 s:=0;
 for i:=1 to n do
  begin
     write('Vvedite Familiyu',i,'-go u4enika '); readln(st[i]);
     write('Vvedite Ocenky',i,'-go u4enika '); readln(x[i]);
     s:=s+x[i];
  end;

clrscr;
writeln('Familiya':30, ' Ocenka: ':12);
for i:=1 to n do
  writeln(st[i]:30, x[i]:12);
writeln;
writeln('Sredny bal = ',s/n:2:1);
readln;
End.

Так тоже не получается?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.