Другие языки программирования и технологии
задача TurboPascal с текстовым файлом, помогите....
a) Создать два текстовых файла, содержащих сведения о десяти нападавших хоккеистах команд «ЦСКА» и «Динамо»: имена нападающих, число заброшенных шайб, сделанных голевых передач, заработанное штрафное время.b) Написать программу, которая по данным, извлеченным из этих файлов, создает новый текстовой файл, содержащий имя, команду, сумму очков (голы + передачи) для шести лучших игроков обеих команд. Данные в текстовый файл вывести в виде таблицы.
Доброго времени суток.
Предположим, файлы уже созданы. Если нет, создайте сами. Здесь я показываю, как их обрабатывать. Предположим, расширение этих файлов будет *.dat
uses Crt;
type
THockey = record
Name : String[20];
Goals, Pas, Straf : Integer;
end;
var
InF : File of THockey;
FName1, FName2 : String;
A : array[1..100] of THockey;
n : Integer;
T : THockey;
j : Integer;
begin
ClrScr;
Write('vvedite imya pervogo faila : ');
ReadLn(FName1);
Write('vvedite imya vtorogo faila : ');
ReadLn(FName2);
{считывание данных из файла в массив}
n := 0;
Assign(InF, FName1+ '.dat');
Reset(InF);
while not Eof(InF) do begin
n := n + 1;
Read(InF, A[n]);
end;
Close(InF);
Assign(InF,fname2+ '.dat');
Reset(InF);
while not Eof(InF) do begin
n := n + 1;
Read(InF, A[n]);
end;
Close(InF);
{информация из обоих файлов размещена в одном массиве}
{отсортируем его по сумме гол+пас}
for i := 1 to n do
for j := 1 to n - i do
if A[j].Goals+A[j].Pas < A[j+1].Goals + A[j+1].Pas then begin
T := A[j];
A[j] := A[j+1];
A[j+1] := T;
end;
{все, массив отсортирован}
{теперь достаточно вывести шесть первых элементов этого массива, это тоже сами}
ReadLn;
end.
Удачи!
PS Что-то нашептывает мне, что такая задача уже была.. .
Предположим, файлы уже созданы. Если нет, создайте сами. Здесь я показываю, как их обрабатывать. Предположим, расширение этих файлов будет *.dat
uses Crt;
type
THockey = record
Name : String[20];
Goals, Pas, Straf : Integer;
end;
var
InF : File of THockey;
FName1, FName2 : String;
A : array[1..100] of THockey;
n : Integer;
T : THockey;
j : Integer;
begin
ClrScr;
Write('vvedite imya pervogo faila : ');
ReadLn(FName1);
Write('vvedite imya vtorogo faila : ');
ReadLn(FName2);
{считывание данных из файла в массив}
n := 0;
Assign(InF, FName1+ '.dat');
Reset(InF);
while not Eof(InF) do begin
n := n + 1;
Read(InF, A[n]);
end;
Close(InF);
Assign(InF,fname2+ '.dat');
Reset(InF);
while not Eof(InF) do begin
n := n + 1;
Read(InF, A[n]);
end;
Close(InF);
{информация из обоих файлов размещена в одном массиве}
{отсортируем его по сумме гол+пас}
for i := 1 to n do
for j := 1 to n - i do
if A[j].Goals+A[j].Pas < A[j+1].Goals + A[j+1].Pas then begin
T := A[j];
A[j] := A[j+1];
A[j+1] := T;
end;
{все, массив отсортирован}
{теперь достаточно вывести шесть первых элементов этого массива, это тоже сами}
ReadLn;
end.
Удачи!
PS Что-то нашептывает мне, что такая задача уже была.. .
бесплатно никто не поможет.. .
Похожие вопросы
- Написать программу которая подсчитывает частоту встречаемости символов в заданном текстовом файле С++
- Извлечение ссылки из текстовых файлов
- Нужно получить массив слов из текстового файла
- Скопировать из текстового файла .txt часть строк c 1 по 3000, затем с 3000 по 6000 и так до конца файла.
- Как подсчитать дубли строк в текстовом файле?
- Считывание данных из текстового файла С++
- Скажите пожалуйста как передать данные из текстового файла в массив на php
- 4. Даны два текстовых файла. Записать в третий только те строки, которые есть и в первом, и во втором файлах.
- Даны два текстовых файла А1 и А2. Создать 3-ий файл в котором будет первая половина А1 и вторая половина А2.
- Как считать слова из текстового файла в с++?