program v24;
uses crt;
const n=4;
var a:array [1..n, 1..n] of string;
i,k,x,cod,f,y,r,raz,min,m,o,b:integer;
ww,rai:string;
label 1,2,3;


procedure Ramka(x1,y1,x2,y2:integer);
var q,p,e,z:integer;
begin
q:=x2-6;
p:=y2-y1;
e:=x2-x1-2;
write(#2);
for z:=1 to e do write(#1);
writeln(#2);
for z:=1 to p do
begin
write(#1);
writeln(#1:q+1);
end;
write(#2);
for z:=1 to e do write(#1);
write(#2);
end;

begin
textbackground(black);
clrscr;
window(6,3,46,16);
textbackground(11);
clrscr;
window(4,4,44,17);
textbackground(15);
clrscr;
textcolor(8);
Ramka(4,4,44,16);
gotoxy(14,3);
textcolor(0);
writeln('Вариант №24');
textcolor(black);
writeln;
gotoxy(6,7);
writeln('Выполнила Дрожжина Мария');
gotoxy(12,8);
writeln('группа 59П2');
gotoxy(3,13);
textcolor(128);
writeln('Enter':3,#16:4);
gotoxy(12,13);
readln;


{Постановка задачи}
textbackground(black);
clrscr;
window(1,1,80,25);
textbackground(14);
clrscr;
window(1,1,40,11);
textbackground(11);
clrscr;
textcolor(0);
Ramka(4,2,43,11);
gotoxy(12,2);
textcolor(0);
writeln('Постановка задачи');
textcolor(black);
writeln;
gotoxy(3,3);
writeln('В отделе кадров имеется список сту-');
gotoxy(3,4);
writeln('дентов и район их проживания. Для ');
gotoxy(3,5);
writeln('военкомата требуется список прожива -');
gotoxy(3,6);
writeln('ющих в Дзержинском районе (всего 4 ');
gotoxy(3,7);
writeln('района: Центральный,Промышленый,');
gotoxy(3,8);
writeln('Ленинский,Дзержинский).');
gotoxy(3,10);
textcolor(128);
write('Enter':3,#16:4);
readln;
begin
window(1,1,80,25);
textbackground(14);
window(40,1,80,11);
textbackground(2);
ramka(4,1,44,10);
window(44,3,75,10);
textbackground(2);

{Цикл фамилия}
for i:=1 to n do begin
textcolor(10);
{ramka(4,1,44,10);}
textcolor(black);
clrscr;
1:gotoxy(1,1);
clrscr;
writeln('Введите фамилию ',i,'ого студента : ');
gotoxy(3,2);
readln(a[i,1]);
clrscr;
ww:=(a[i,1]);
f:=0;
for y:=1 to length(ww) do
begin
val(ww[y],x,cod);
if (cod=0) then f:=f+1;
end;
if f>0 then begin
clrscr;
textcolor(10);
textcolor(10);
gotoxy(3,3);
writeln('Ошибка ');
textcolor(10);
gotoxy(3,4);
writeln('Повторите ввод');
textcolor(black);
readln;
goto 1;
end;
clrscr;

{Цикл имя}
textcolor(10);
{ramka(4,1,44,10);}
textcolor(black);
2:gotoxy(1,1);
clrscr;
writeln('Введите имя ',i,'ого студента : ');
gotoxy(3,2);
readln(a[i,2]);
clrscr;
ww:=(a[i,2]);
f:=0;
for y:=1 to length(ww) do
begin
val(ww[y],x,cod);
if(cod=0) then f:=f+1;
end;
if f>0 then begin
clrscr;
textcolor(10);
gotoxy(3,3);
writeln('Ошибка ');
textcolor(10);
gotoxy(3,4);
writeln('Повторите ввод');
textcolor(black);
readln;
goto 2;
end;
clrscr;

3:gotoxy(3,1);
clrscr;
textcolor(black);
writeln('Выберете район проживания студента : ');
readln(a[i,3]);

ww:=(a[i,3]);
f:=0;
for y:=1 to length(ww) do
begin
val(ww[y],x,cod);
if(cod=0) then f:=f+1;
end;
if f>0 then begin
clrscr;
textcolor(10);
clrscr;
gotoxy(3,3);
writeln('Ошибка ');
textcolor(10);
gotoxy(3,4);
writeln('Повторите ввод');
textcolor(black);
readln;
goto 3;
end;
end;
clrscr;





{Таблица первоначальная}
begin
window(1,1,80,25);
textbackground(white);
clrscr;
window(6,3,63,19);
textbackground(8);
clrscr;
window(4,4,61,20);
textbackground(0);
clrscr;
textcolor(8);
Ramka(4,6,61,21);
window(5,5,59,19);
textbackground(0);
clrscr;
textcolor(8);
gotoxy(22,2);
writeln('Весь список');
writeln;
textcolor(white);
gotoxy(5,4);
writeln('|-----------------|-------------|-------------|');
gotoxy(5,5);
writeln('|     Фамилия   |     Имя     |    Район        |');
gotoxy(5,6);
writeln('|-----------------|-------------|-------------|');
for i:=1 to n do begin
writeln('    |',a[i,1]:17,'|',a[i,2]:13,'|',a[i,3]:13,'|');
writeln('    |-----------------|-------------|-------------|');
end;
end;
textcolor(10);
textcolor(128);
gotoxy(2,15);
write('Enter':3,#16:4);
readln;


{Таблица поиска }
window(1,1,80,25);
textbackground(8);
clrscr;
window(6,3,63,19);
textbackground(black);
clrscr;
window(4,4,61,20);
textbackground(white);
clrscr;
textcolor(black);
Ramka(4,6,61,21);
window(5,5,59,19);
textbackground(white);
textcolor(black);
val(a[i,3],m,raz);
min:=m;
for i:=1 to n do begin
val(a[i,3],m,raz);
if m<min then min:=m;
textcolor(black);
end;
gotoxy(10,3);
writeln('Поиск студентов по району:');
writeln('Введите район:');
readln(rai);
clrscr;
textcolor(8);
gotoxy(4,4);
writeln('|-------------------|-------------|-------------|');
gotoxy(4,5);
writeln('|     Фамилия       |     Имя    |    Район    |');
gotoxy(4,6);
writeln('|-------------------|-------------|-------------|');
for i:=1 to n do begin
val(a[i,3],r,raz);
if a[i,3]=rai then begin
if r=min then begin
writeln('   |',a[i,1]:19,'|',a[i,2]:13,'|',a[i,3]:13,'|');
writeln('   |-------------------|-------------|-------------|');
end;
end;
end;
write;
gotoxy(2,15);
textcolor(128);
write('Enter':3,#16:4);
readln;
 end;
end.







