Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2012, 16:58   #1
Босикоша
Новичок
Джуниор
 
Регистрация: 20.09.2012
Сообщений: 2
По умолчанию

в файле сначала дано количество футболистов а на след строчках Фамилия Имя кол-во голов, данные через пробел
вывести фамилию и имя футболиста, забившего наибольшее кол-во голов и вывести количество голов на экран.
Код:
program qq;
var c,fam,name,h,fam1,name1:string;
f1,f2:text;
kol,gol,gol1,i:integer;
 begin
assign(f1,'input.txt');
assign(f2,'output.txt');
reset(f1);
rewrite(f2);
readln(f1,kol);
repeat read(f1,fam); until c=' ';
repeat read(f1,name); until c=' ';
readln(f1,gol);
for i:=1 to kol do
 begin
repeat read(f1,fam1); until c=' ';
repeat read(f1,name1); until c=' ';
readln(f1,gol1);
if gol1>gol then begin fam:=fam1; name:=name1; gol:=gol1;
 end;
str(gol,h);
c:=fam+' '+name+' '+h;
write(f2,c);
close(f1);
close(f2);
 end.
я сама пыталась решить, но ничего не работает.

Последний раз редактировалось Stilet; 20.09.2012 в 17:27.
Босикоша вне форума Ответить с цитированием
Старый 20.09.2012, 19:00   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Ну пользуйтесь же поиском!
Код:
uses crt;
 
type Fut = record
         Name: string[30];
         Gol : integer;
     end;
     
     
var a:array [1..20] of Fut;
i,MaxGol,n: integer;
 
 
begin
    repeat
    Write('Введите кол-во футболистов до 20*  Кол-во = ');readln(n);
    until (n>0) and (n<21);
    Writeln;
    MaxGol:=1;
    For i:=1 to n do
    begin
    Write('Введите И.Ф. ',i,'-го футболиста: ');readln(a[i].Name);
    repeat
    Write('Кол-во забитых голов: ');readln(a[i].Gol);
    until a[i].Gol>0;
    Writeln;
    if a[i].gol>MaxGol then MaxGol:=a[i].gol;
    end;
    Writeln;
    for i:=1 to n do
    begin
    if a[i].gol=MaxGol then Writeln('Футболист забивший наибольшее кол-во голов* ',a[i].name,' - ',a[i].gol,' гола(ов)');
    end;
    
end.
Poma][a вне форума Ответить с цитированием
Старый 20.09.2012, 19:27   #3
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Ну пользуйтесь же поиском!
Хм... По поводу поиска: согласен на 100%.
По поводу кода: исходя из условий задачи (как я ее понял), записи тут не нужны, как и ввод данных. Просто читаем данные из втрой строки, пишем их в MFam,MName:string; Mgol:integer; затем читаем следующую строку в TFam,TName и Tgol. Если Mgol<Tgol, то записываем значения из "T" в "M". И так далее, пока не прочитаем весь файл. Затем пишем MFam,MName и Mgol в output.txt, и задача решена.
Все тривиальное просто

Последний раз редактировалось whatever; 20.09.2012 в 19:30.
whatever вне форума Ответить с цитированием
Старый 20.09.2012, 20:32   #4
Босикоша
Новичок
Джуниор
 
Регистрация: 20.09.2012
Сообщений: 2
По умолчанию

мне именно с вводом выводом нужно( это из требований к ЕГЭ, в моей программе почему-то пишет что файлы не закрыты хотя close(f1),close(f2) написала
Босикоша вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с вводом / выводом. С++ Slavytich Помощь студентам 4 28.11.2010 14:02
Работа со строковыми данными [Danil] Паскаль, Turbo Pascal, PascalABC.NET 0 11.06.2010 10:27
Работа со строковыми данными Anton5 Фриланс 11 16.04.2010 14:48
проблема с вводом/выводом revan-8 Общие вопросы C/C++ 10 09.07.2009 20:54
работа с файловым вводом выводом... world12_tk Общие вопросы C/C++ 1 13.03.2009 16:31