Ответы
Ответ:
Note = Record
Name: string;
Phone: string;
Day: array[1..3] of word;
End;
0
FeLiPoN
0 / 0 / 0
Регистрация: 26.09.2010
Сообщений: 30
08.12.2010, 15:45 [ТС] 3
Цитата Сообщение от TAVulator Посмотреть сообщение
Pascal
Note = Record
Name: string;
Phone: string;
Day: array[1..3] of word;
End;
BabushkaTP
2 / 2 / 5
Регистрация: 21.11.2013
Сообщений: 20
07.02.2014, 12:05 4
Pascal
program zad;
uses crt;
const n=8;
type note=record
fm:string[20];
im:string[20];
tl:string[20];
dt:array[1..3] of word;
end;
var sp:array[1..n]of note;
i,j,f:integer;
fam:string[20];
buf:note;
begin
clrscr;
writeln('Введите данные об ',n,' абонентах:');
for i:=1 to n do
begin
writeln('Абонент ',i);
write(' Фамилия: ');readln(sp[i].fm);
write(' Имя: ');readln(sp[i].im);
write(' Телефон: ');readln(sp[i].tl);
writeln(' Дата рождения: ');
repeat
write(' день(1..31): ');readln(sp[i].dt[1]);
until sp[i].dt[1] in [1..31];
repeat
write(' месяц(1..12): ');readln(sp[i].dt[2]);
until sp[i].dt[2] in [1..12];
repeat
write(' год(1900..2000): ');readln(sp[i].dt[3]);
until (sp[i].dt[3]>=1900)and(sp[i].dt[3]<=2000);
end;
clrscr;
{сортировка массива записей по алфавиту}
for i:=1 to n-1 do
for j:=i+1 to n do
if sp[i].fm>sp[j].fm then
begin
buf:=sp[i];
sp[i]:=sp[j];
sp[j]:=buf;
end;
writeln('Список абонентов:':45);
writeln;
writeln('-------------------------------------------------------');
writeln('| Фамилия | Имя | Телефон | Дата рождения |');
writeln('-------------------------------------------------------');
for i:=1 to n do
begin
gotoXY(1,whereY);write('| ',sp[i].fm);
gotoXY(15,whereY);write('| ',sp[i].im);
gotoXY(27,whereY);write('| ',sp[i].tl);
gotoXY(39,whereY);
write('| ',sp[i].dt[1],'.',sp[i].dt[2],'.',sp[i].dt[3]);
gotoXY(55,whereY); writeln('|');
end;
writeln('-------------------------------------------------------');
repeat
writeln('Введите фамилию для поиска:');
readln(fam);
f:=0;
for i:=1 to n do
if sp[i].fm=fam then
begin
f:=1;
write(sp[i].fm,' ',sp[i].im,' ',sp[i].tl,' ');
write(sp[i].dt[1],'.',sp[i].dt[2],'.',sp[i].dt[3]);
end;
if f=0 then writeln('Такой фамилии нет. Повторите ввод.');
until f=1;
readln
end.
0
Объяснение: