Другие языки программирования и технологии
задачу на паскале помогите Завершить!
program for_text;uses crt;var f1,f2,f3:text;i,k:integer;name,fname,fname2,fname3:string;goals,pass,fouls,gp1,gp2:integer;beginclrscr;writeln('Vvedite IMYA faila'); {создание первого текстового файла}readln(fname);assign(f1,fname);rewrite(f1);writeln (f1, 'Familiya':10,'Goals':12,'kol-vo Passov':16,'Strafnoe vremya':18,'goals+pass':23);for i:=1 to 10 do beginwriteln ('vvedite FIO igroka');readln(name);writeln('Vvedite goals');readln(goals);writeln('Vvedite pass');readln(pass);writeln('vvedite fouls');readln(fouls);gp1:=goals+pass;writeln (f1, name :10,goals:12,pass:16,fouls:18,gp1:23);end;close(f1);readkey;writeln('Vvedite IMYA 2-go faila'); {создание второго текстового файла}readln(fname2);assign(f2,fname2);rewrite(f2);writeln (f2, 'Familiya':10,'Goals':12,'kol-vo Passov':16,'Strafnoe vremya':18,'goals+pass':23);for i:=1 to 10 do beginwriteln ('vvedite FIO igroka');readln(name);writeln('Vvedite goals');readln(goals);writeln('Vvedite pass');readln(pass);writeln('vvedite fouls');readln(fouls);gp2:=goals+pass;writeln (f2, name :10,goals:12,pass:16,fouls:18,gp2:23);end;close(f2);readkey;end.--------------------------------------------я создаю два файла, в каждом по 10 хоккеистов(фамилия , шайбы, пасы , фолы, гол + пас).Нужно отсортировать по (Гол+ пас), и создать третий текстовой файл, в котором будут 6(внимание не по 6 с каждой, а 6 лучших считая из обеих команд) лучших игроков из обеих команд----------------------------------------------------------------------------------------------------------------------------------------уважаемый GEnnady ясно же написано что файл текстовой, а не типизированный, или вы знаете как структурированный тип записать в текством файле, что бы без косяков было???
Доброго времени суток.
>> уважаемый GEnnady ясно же написано что файл текстовой, а не типизированный, или вы знаете как структурированный тип записать в текством файле, что бы без косяков было?? ?
Естественно, знаю. Более того, я знаю, как прочитать ваш текстовый файл в структурированную переменную. Это можно сделать так (объявление типа см в моих прошлых ответах) .
writeln('Vvedite IMYA faila'); {создание первого текстового файла}
readln(fname);
assign(f1,fname);
reset(f1);
ReadLn(f1,S); {пропускаем строку заголовка}
i :=0;
while not Eof(f1) do begin
Inc(i);
Read(f1, A[ i ].Name, A[ i ].Goals, A[ i ].Pas, A[ i ].Straf, Dummy); {считываем строку}
ReadLn(f1); {переход на следующую}
end;
Close(f1);
Со вторым поступаете точно также. Только не инициализируете нулем счетчик индекса i. Дальше надо объяснять? Сортировку я уже дважды показывал.
А структурированную переменную пишете в файл по ее полям, как будто это обычные переменные с соответствующими типами. Это ведь у вас ведь не вызвало затруднений, как я понимаю.
Удачи!
PS Приведенный код проверен и работает. Dummy - пустышка чтобы совпали форматы. Можете в запись ввести поле г+п, только это лишнее.
2 silence _: Примите небольшое замечание по вашему коду.
write('vvedite FIO igroka'); {здесь лучше применить оператор без Ln, чтобы курсор остался в этой же строке, будет симпатичнее смотреться}
readln(name);
write('Vvedite goals'); {и здесь, тоже и везде, в подобных местах}
readln(goals);
>> уважаемый GEnnady ясно же написано что файл текстовой, а не типизированный, или вы знаете как структурированный тип записать в текством файле, что бы без косяков было?? ?
Естественно, знаю. Более того, я знаю, как прочитать ваш текстовый файл в структурированную переменную. Это можно сделать так (объявление типа см в моих прошлых ответах) .
writeln('Vvedite IMYA faila'); {создание первого текстового файла}
readln(fname);
assign(f1,fname);
reset(f1);
ReadLn(f1,S); {пропускаем строку заголовка}
i :=0;
while not Eof(f1) do begin
Inc(i);
Read(f1, A[ i ].Name, A[ i ].Goals, A[ i ].Pas, A[ i ].Straf, Dummy); {считываем строку}
ReadLn(f1); {переход на следующую}
end;
Close(f1);
Со вторым поступаете точно также. Только не инициализируете нулем счетчик индекса i. Дальше надо объяснять? Сортировку я уже дважды показывал.
А структурированную переменную пишете в файл по ее полям, как будто это обычные переменные с соответствующими типами. Это ведь у вас ведь не вызвало затруднений, как я понимаю.
Удачи!
PS Приведенный код проверен и работает. Dummy - пустышка чтобы совпали форматы. Можете в запись ввести поле г+п, только это лишнее.
2 silence _: Примите небольшое замечание по вашему коду.
write('vvedite FIO igroka'); {здесь лучше применить оператор без Ln, чтобы курсор остался в этой же строке, будет симпатичнее смотреться}
readln(name);
write('Vvedite goals'); {и здесь, тоже и везде, в подобных местах}
readln(goals);
сам подход к решению у вас неправильный
данные должны откуда-то черпаться
а вы их заносите во временную переменную
а потом стираются при вводе новых
нужно работать с записями
вот вам подсказка
Если понадобится помощь в программировании : 395359808
данные должны откуда-то черпаться
а вы их заносите во временную переменную
а потом стираются при вводе новых
нужно работать с записями
вот вам подсказка
Если понадобится помощь в программировании : 395359808
Похожие вопросы
- Задача в паскале. помогите пожалуйста... очень срочно нужно!
- Pascal. Помогите пожалуйста решить задачу в паскале !
- ПОМОГИТЕ С ЗАДАЧАМИ В ПАСКАЛЕ
- Помогите до решать задачу на паскале
- Помогите решить задачи по Паскалю
- помогите решить задачу на паскале: напечатать "столбиком" значения sin2, sin3, ..sin 20.
- Помогите, пожалуйста с задачей :( Сижу, туплю уже какой день, вообще не соображу - чтокуда. Задача на Паскале
- ПОМОГИТЕ НАПИСАТЬ ЗАДАЧИ НА ПАСКАЛЕ
- Помогите написать задачи в паскале!!!!
- Решение задач по паскалю