Lexus10
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите, пожалуйста, решить задачу: 1. Все исходные данные вводятся из входного текстового файла. 2. В выходной текстовый файл выводится как вся введенная информация, так и полученный результат. 3. Должна быть сделана в виде: двумерных символьных массивов, текстовых файлов и без процедур и чего либо. ЗАДАНИЕ Дан список группы в 10 человек в виде ФАМИЛИЯ И.О. ГОД_РОЖД. ПРОПИСКА ПОЛ 15 симв. 4 симв. 4 симв. 1 симв. 1 симв. Данные в одной строке отделяются друг от друга пробелами. Выделить из них и напечатать трех наиболее молодых петербуржцев мужчин. Того в строке 29 символов =) Входной файл dano.inp: Danilov A.V. 1989 P M Kretov D.A. 1990 P M Prostokov P.T. 1991 P M Ivanov L.R. 1992 I M Drozdov I.Z. 1987 P M Krasnov Y.K. 1990 I M Bolshix O.A. 1991 I G Deribenko I.S. 1991 P G Komarova E.N. 1989 I G Alekseeva A.R. 1991 P G Усл. Обозначения ) P - Питер I - Иногородний M - Мужик G - Женщина Вот начальный шаблончик: program pp1; type t=array [1..10,1..29] of char; var A:t; i,j: integer; Begin assign(input,'dano.inp'); reset(input); assign(output,'result.out'); rewrite(output); For I:=1 to 10 do Begin For J:=1 to 29 do Begin read(A[i,j]); write(A[i,j]); end; readln; writeln; end; close(input); close(output); end. Я так понял надо отсортировать по году рождения всех…а потом по букве P … вот с этим и над помочь.. =) И должна пригодится такая вот формула… для даты рождения ) (ord(A[i,22])-48)*1000+ (ord(A[i,23])-48)*100+ (ord(A[i,24])-48)*10+ (ord(A[i,25])-48); |