с клавиатуры вводится число N, обозначающее количество футболистов команды «Шайба», а затем – N строк, в каждой из которых – информация об одном футболисте таком формате:
<Фамилия> <Имя> <год рождения> <голы>
Все данные разделяются одним пробелом. Нужно подсчитать, сколько футболистов, родившихся в период с 1988 по1990 год, забили более двух мячей.
Другие языки программирования и технологии
Pascal.помогите пожалуйста
program Shayba;
type
TRecFootbolist = record
SureName:string[50];
Name:string[25];
BirthYear:integer;
Gols:integer;
end;
var
ArTeam:array of TRecFootbolist;
j,summa:integer;
begin
Write ('введите число футболистов: ');
Readln(N);
setlength(ArTeam,N); // динамический массив Delphi
for j := 0 to High(ArTeam) do
begin
with ArTeam[j] do // ввод данных футболистов
begin
Writeln ('введите данные футболиста (Фамилия, Имя, Год, кол-во голов): ');
Readln(SureName,Name,BirthYear,Gols);
end;
end;
summa:=0;
for j := 0 to High(ArTeam) do // подсчёт суммы
begin
if (ArTeam[j].BirthYear>=1988)and(ArTeam[j].BirthYear=<1990) and (ArTeam[j].Gols>2) then summa:=summa+1;
end;
Writeln ('Кол-во футболистов забивших более 2-х голов c 1988-1990:',summa);
Readln;
end.
p.s. Давно не писал в консоли, поэтому могут быть неточности в синтаксисе. .
Решаю через динамический массив, т. к. в простом паскале массивы статические (требует начальное кол-во элементов массива, а по условию его нужно задавать N, поэтому используем Object Pascal. Консоль)
Можно попробывать через файл записей. Создать. Ввести данные. Открыть его и прочитать. Подсчитать по условию и вывести. Но это уже другая история...))
type
TRecFootbolist = record
SureName:string[50];
Name:string[25];
BirthYear:integer;
Gols:integer;
end;
var
ArTeam:array of TRecFootbolist;
j,summa:integer;
begin
Write ('введите число футболистов: ');
Readln(N);
setlength(ArTeam,N); // динамический массив Delphi
for j := 0 to High(ArTeam) do
begin
with ArTeam[j] do // ввод данных футболистов
begin
Writeln ('введите данные футболиста (Фамилия, Имя, Год, кол-во голов): ');
Readln(SureName,Name,BirthYear,Gols);
end;
end;
summa:=0;
for j := 0 to High(ArTeam) do // подсчёт суммы
begin
if (ArTeam[j].BirthYear>=1988)and(ArTeam[j].BirthYear=<1990) and (ArTeam[j].Gols>2) then summa:=summa+1;
end;
Writeln ('Кол-во футболистов забивших более 2-х голов c 1988-1990:',summa);
Readln;
end.
p.s. Давно не писал в консоли, поэтому могут быть неточности в синтаксисе. .
Решаю через динамический массив, т. к. в простом паскале массивы статические (требует начальное кол-во элементов массива, а по условию его нужно задавать N, поэтому используем Object Pascal. Консоль)
Можно попробывать через файл записей. Создать. Ввести данные. Открыть его и прочитать. Подсчитать по условию и вывести. Но это уже другая история...))
5 баксов (=
интересно... в от если бы не одно НО, было бы проще решать... .
а затем – N строк, в каждой из которых – информация об одном футболисте таком формате:
<Фамилия> <Имя> <год рождения> <голы> - тоесть надо в одну строчку записать... .
я бы на делфи решил просто. а тут в паскале функции нету одной))))
а затем – N строк, в каждой из которых – информация об одном футболисте таком формате:
<Фамилия> <Имя> <год рождения> <голы> - тоесть надо в одну строчку записать... .
я бы на делфи решил просто. а тут в паскале функции нету одной))))
Похожие вопросы
- Turbo Pascal помогите пожалуйста. помогите пожалуйста с написание программы для вычисления 1-й и 2-й производной функции
- Доброго дня. Есть вопрос по PASCAL. Помогите пожалуйста.
- Pascal помогите пожалуйста найти ошибку в задаче.
- Pascal. Помогите пожалуйста решить задачу в паскале !
- turbo pascal,помогите пожалуйста.
- народ помогите пожалуйста) надо сделать прогу на pascal)
- Здравствуйте! помогите пожалуйста выполнить зачётные задания по программированию на Pascal
- Помогите пожалуйста с Pascal
- Люди помогите пожалуйста....Кто понимает TURBO PASCAL
- Помогите, пожалуйста, написать текст программы на языке высокого уровня (Basic или Pascal)!