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

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

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

> Работа с файлами, Обработка текстового файла
npl
сообщение 9.12.2007 12:47
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской
Реальное имя: http://npfiles.ru

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


Даны названия N различных обществ (N заданное число), фигуристы которых участовали в соревновании. О каждом фигуристе известно: фамилия, название общества и 10 оценок за его выступление. Требуется для каждого спортивного общества определить фигуриста, показавшего наивысший результат, считая его единственным. Баллы, полученные фигуристом, подсчитываются следующим образом: максимальная и минимальная оценки отбрасываются, а из остальных формируется средняя. При вводе данных обеспечить уникальность наименований обществ и обязательную принадлежность фигуриста к одному из них.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
npl
сообщение 9.12.2007 14:38
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской
Реальное имя: http://npfiles.ru

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


Вот код

program obchestva_and_figuristyi;
uses crt;
type
figurist=record
fio:string[10];
obsh:string[10];
ocenka:array[1..10] of integer;
end;
var
f:file of figurist;
ftxt:text;
i,cod:integer;
z:figurist;
st:string;
max,min:integer;
s,sr:real;
begin
clrscr;
assign(ftxt,'figur1.txt');
reset(ftxt);
assign(f,'figur.dat');
rewrite(f);
while not eof(ftxt) do
begin
readln(ftxt,st);
z.fio:=copy(st,1,pos(' ',st));
z.obsh:=copy(st,12,pos(' ',st));
delete(st,1,22);
for i:=1 to 10 do
begin
val(st[1],z.ocenka[i],cod);
delete(st,1,2);
end;
write(f,z);
end;
close(ftxt);
close(f);
reset(f);
while not eof(f) do
begin
read(f,z);
write(z.fio,' ',z.obsh,' ');
for i:=1 to 10 do
write(z.ocenka[i]);
writeln;
max:=z.ocenka[1];
for i:=2 to 10 do
begin
if z.ocenka[i]>max then
max:=z.ocenka[i];
end;
write(max,' ');
min:=z.ocenka[1];
for i:=2 to 10 do
begin
if z.ocenka[i]<min then
min:=z.ocenka[i];
end;
write(min,' ');
s:=0;
for i:=1 to 10 do
s:=s+z.ocenka[i];
write(s:2:1,' ');
sr:=(s-max-min)/8;
writeln(sr:2:2);
end;
close(f);
end.


Пока я определил максимальную, минимальную оценку, отбросил их и нашёл среднюю.

Добавлено через 5 мин.
Думаю, что делать дальше. Создать ещё один типизированный файл, туда поместить фамилии фигуристов, названия обществ и их средние оценки. И дальше работать с этим файлом, чтобы для каждого общества найти фигуриста с максимальным результатом.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
npl   Работа с файлами   9.12.2007 12:47
volvo   ... и что? Хорошее задание, только зачем ты привел...   9.12.2007 13:41
npl   Частично задача решена. А именно, я создаю типизир...   9.12.2007 13:48
andriano   Частично задача решена. А именно, я создаю типизи...   9.12.2007 14:28
npl   Вот код program obchestva_and_figuristyi; uses cr...   9.12.2007 14:38
npl   Народ, откликнитесь.   9.12.2007 17:20
andriano   То, что ты сделал, возможно, подходит под определе...   9.12.2007 19:00
npl   То, что ты сделал, возможно, подходит под определ...   9.12.2007 19:05
andriano   Если проверка задания будет выполнена по уму, то ф...   9.12.2007 19:20
npl   Если ФИО меньше 10, то там оставшееся место заполн...   9.12.2007 19:22
andriano   А есть ли описание формата файла? Не может оказать...   9.12.2007 19:29
npl   Я сам составлял файл. Задачу надо решать для конкр...   9.12.2007 19:32
andriano   Я сам составлял файл. Задачу надо решать для конк...   9.12.2007 20:09
npl   Да забудьте про преобразование. Оставлю так, как е...   9.12.2007 20:12
andriano   Самый простой способ - перебором. PS. А алгоритм ...   9.12.2007 20:15
npl   Не получается найти максимальный элемент. Когда на...   9.12.2007 21:36
andriano   Коль скоро для каждого фигуриста все равно вычисля...   9.12.2007 22:38
npl   Коль скоро для каждого фигуриста все равно вычисл...   9.12.2007 22:49
andriano   А ты не заметил, что твоя программа не совсем соот...   10.12.2007 20:57
npl   А ты не заметил, что твоя программа не совсем соо...   10.12.2007 21:09
andriano   Пальчиком ткни.   10.12.2007 21:32
npl   obsh:string; вот тут, может хватить мудить, если б...   10.12.2007 22:25
andriano   Грубить не надо. Помочь - могу, а писать код за те...   12.12.2007 20:46
npl   "Спасибо", что не помогли, andriano. Но ...   12.12.2007 23:33
Michael_Rybak   "Спасибо" andriano от тебя заслуживает к...   12.12.2007 23:51
npl   "Спасибо" andriano от тебя заслуживает ...   12.12.2007 23:55
Michael_Rybak   Аааа, т.е. когда ты задаешь вопрос, я должен не о...   13.12.2007 0:20
npl   Аааа, т.е. когда ты задаешь вопрос, я должен не о...   13.12.2007 13:11
Lapp   Господа, прошу прекратить перебранку. Тему закрыв...   13.12.2007 14:24
andriano   "Пришел барин и всех рассудил." :D [ ] ...   14.12.2007 9:40
Malice   Начнем тогда уж.. Внесу свою лепту для начала :) ...   14.12.2007 11:27
andriano   Начнем тогда уж.. Внесу свою лепту для начала :) ...   14.12.2007 18:17


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

 



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