IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Символьная информация, Задача с файлом
Single
сообщение 28.12.2007 1:10
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской
Реальное имя: Anton

Репутация: -  0  +


Ребят, помогите, очень срожно нужно. Задача с файлом в нём должно быть указан Фамилия,Дата рождения, Оценка,оценка,оценка
Например Doroshenko 1992 18 5 4 3 5

Задание состоит в том, что нужно вывести список студентов которые имеют средний бал выше чем средний бал всей группы.

Проблема состоит в том что я не могу посчитать средний бал всей группы и из за этого не могу и вывести всё остальное. Я только вывел на экран данные и смог посчитать среднюю оценку каждого студента, а дальше никак не идёт. Помогите пожалуйста.
Вот сам текст программы.


program rgr2;
var s:text;
x:string[21];
o1:integer;
o2:integer;
o3:integer;
i,j:real;
begin
assign(s,'c:\spusok.txt');
reset(s);
while not eof(s) do begin
readln(s,x,o1,o2,o3);
writeln(x,' ',o1,' ',o2,' ',o3);
end;
readln;
close(s);
reset(s);
while not eof(s) do
begin
readln(s,x,o1,o2,o3);
i:=((o1+o2+o3)/3);
writeln(x,' ',i:1:2);}
writeln(j:1:2);
write;
end;
readln;
close(s);
end.



Файл прикреплённый со списком студентов.


Прикрепленные файлы
Прикрепленный файл  Spusok.txt ( 870 байт ) Кол-во скачиваний: 221
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 28.12.2007 1:34
Сообщение #2


Гость






Цитата
Проблема состоит в том что я не могу посчитать средний бал всей группы
Ты же правильно начал делать, нашел средний балл каждого студента, теперь их осталось просуммировать, и поделить на количество студентов в группе:

count := 0; { <--- здесь будет число студентов }
j := 0; { <--- здесь будет среднее всей группы }
while not eof(s) do
begin
readln(s,x,o1,o2,o3);
i:=((o1+o2+o3)/3); { среднее для студента }
writeln(x,' ',i:1:2);

j := j + i; inc(count);
end;

j := j / count; { <--- Собственно, посчитали среднее }


Осталось переоткрыть файл еще раз, и пробежаться по нему в поисках студентов, имеющих ср. балл выше чем J...

P.S. Перед Reset-ом необязательно делать Close, это делается автоматически...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 20:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"