Darialaza
?>

Написать программу на паскале дается список студентов с личными данными и данными о днях рождения. требуется вывести номера тех студентов, которые родились летом. летними считать следующие месяцы: июнь, июль, август. месяцы нумеруются с единицы. формат входных данных в первой строке входного файла находится число n(1≤n≤50 в следующих n строках описываются данные о студентах, по одной строке на человека. каждая строка содержит через пробел фамилию, имя, отчество, число, месяц и год рождения. имя, фамилия и отчество представляют из себя последовательность символов или латинского алфавитов, и не содержат каких-либо пробельных символов. формат выходных данных в выходной файл выведите k - количество студентов, родившихся летом. после этого выведите k чисел - номера студентов, родившихся летом. студенты нумеруются с единицы в том порядке, в котором они перечислены во входном файле. номера выводите в порядке возрастания. примеры: вход 2 иванов иван иванович 10 2 2007 петров петр петрович 10 6 2007 выход 1 2

Информатика

Ответы

Shteinbakh
//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
f-d-a-14
◘Объективность информации. Например: "На улице холодно" - это субъективная информация. А "На улице -14°" - объективная (но не всегда точная)
◘Достоверность информации. Ин-фа достоверна, если отражает истинное положение дел. (объективная информация всегда достоверна)
◘Полнота информации. Информация полная, если ее достаточно для понимания и принятия решения.
◘Точность информации. Определяется степенью ее близости к реальному состоянию объекта, процесса, явления и т.д.
◘Актуальность информации – важность для настоящего времени.
◘Полезность информации.
 - Самая ценная информация – объективная, достоверная, полная, и актуальная.
nikitavertiev98400
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2).
Сделать это можно так:
while not eof(fr) and (kol=0) do
begin
read(fr, Marshrut);
if (Marshrut.NK.N <> '11')
   then write(fr2,Marshrut)
   else begin inc(kol); y:=Marshrut; end;
end;
if not eof(fr) then
  begin
  read(fr, Marshrut);
  write(fr2,Marshrut);
  end;
if (kol=1) then  write(fr2,y);
Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).

Попробуйте ещё вот такой вариант:
(здесь k1 и k2 - целые, а y - типа )
if (Marshrut.NK.N = '11') then
begin
writeln('... ');
inc(kol);
y:=Marshrut;
k1:=FilePos(fr)-1;
k2:=FilePos(fr);
if not eof(fr) then
 begin
 read(fr, Marshrut);
 seek (fr, k1);
 write(fr, Marshrut);
 seek (fr, k2);
 write (fr, y);
 end;

end;

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу на паскале дается список студентов с личными данными и данными о днях рождения. требуется вывести номера тех студентов, которые родились летом. летними считать следующие месяцы: июнь, июль, август. месяцы нумеруются с единицы. формат входных данных в первой строке входного файла находится число n(1≤n≤50 в следующих n строках описываются данные о студентах, по одной строке на человека. каждая строка содержит через пробел фамилию, имя, отчество, число, месяц и год рождения. имя, фамилия и отчество представляют из себя последовательность символов или латинского алфавитов, и не содержат каких-либо пробельных символов. формат выходных данных в выходной файл выведите k - количество студентов, родившихся летом. после этого выведите k чисел - номера студентов, родившихся летом. студенты нумеруются с единицы в том порядке, в котором они перечислены во входном файле. номера выводите в порядке возрастания. примеры: вход 2 иванов иван иванович 10 2 2007 петров петр петрович 10 6 2007 выход 1 2
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Isaeva_Marin1010
miumiumeaow
ea9824165833886
badalovao256
Викторович Попков
egorstebenev6
Wlad967857
irinaastapova2011
saltikovaK.S.1482
shyroshka836103
kristal1
Vyacheslavovich-Gubanov
svt5299
nickname0091
Eduard Popik