Помогите, пожалуйста, написать программу ** Паскале Дается список студентов с личными...

0 голосов
43 просмотров

Помогите, пожалуйста, написать программу на Паскале
Дается список студентов с личными данными и данными о днях рождения. Требуется вывести номера тех студентов, которые родились летом. Летними считать следующие месяцы: июнь, июль, август. Месяцы нумеруются с единицы.
Формат входных данных
В первой строке входного файла находится число n(1≤n≤50). В следующих n строках описываются данные о студентах, по одной строке на человека. Каждая строка содержит через пробел фамилию, имя, отчество, число, месяц и год рождения. Имя, фамилия и отчество представляют из себя последовательность символов русского или латинского алфавитов, и не содержат каких-либо пробельных символов.
Формат выходных данных
В выходной файл выведите k - количество студентов, родившихся летом. После этого выведите k чисел - номера студентов, родившихся летом. Студенты нумеруются с единицы в том порядке, в котором они перечислены во входном файле. Номера выводите в порядке возрастания.

Примеры:
Вход
2
Иванов Иван Иванович 10 2 2007
Петров Петр Петрович 10 6 2007
Выход
1
2


Информатика (1.2k баллов) | 43 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

//Pascal ABC.NET v3.0 сборка 1111

Var 
 ars:array[1..50] of string;
 ark:array[1..50] of integer;
 s:string;
 i,n,k,j:integer;
begin
 readln(n);
 k:=0;
 for i:=1 to n do
  begin;
   readln(ars[i]);
    for j:=1 to 4 do
     delete(ars[i],1,pos(' ',ars[i]));
    s:=ars[i];
    if (s[1]='6') or (s[1]='7') or (s[1]='8') then
     begin;
      inc(k);
      ark[k]:=i;
     end;
  end;
writeln(k);
for i:=1 to k do
writeln(ark[i]);
end.

Пример ввода:
2
Петров Петр Петрович 10 6 2007
Иванов Иван Иванович 10 2 2007
Пример вывода:
1
1

(38.6k баллов)
0

Спасибо просто огромнейшее <3