program bdsm; uses crt; const n=8; var text: array[1..n] of string[255];i,dd,m,li1,li2,god1,god2,cod1,cod2,min:integer; god:array[1..255] of integer; d:boolean; temp:string; begin min:=10000; writeln('Введите данные'); for i:=1 to n do begin read(text[i]); {иванов_иван_иваныч_1990 = и_и_и_1990} li1:=length(text[i]); val(copy(text[i],li1-4,4),god[i],cod1); end; m:=1; for i:=2 to n do {хитрожопое сравнивание членов массива} begin d:=god[i-1]<god[i]; if d=true then dd:=1 else dd:=0; m:=m*dd {если будет хоть один 0 то общий счетчик будет равен 0} end; while m=0 do {делаем пока общий счетчик = 0, он станет равен 1 когда все года будут отсортированы} begin for i:=2 to n do {сортировка методом ВАСИ ПУПКИНА} begin li1:=length(text[i]); li2:=length(text[i-1]); val(copy(text[i],li1-4,4),god1,cod1); {берем год И-того в ГОД1..КОД1 хз зачем нужен, а без него низзя} val(copy(text[i-1],li2-4,4),god2,cod2); {берем год (И-1)-ого в ГОД2.. аналогично |^|} if god2<god1 then begin temp:=text[i-1]; text[i-1]:=text[i]; text[i]:=temp; end; end; for i:=1 to n do {пересоставление массива ГОД} begin li1:=length(text[i]); val(copy(text[i],li1-4,4),god[i],cod1); end; m:=1; for i:=2 to n do {хитрожопое сравнивание членов массива ГОД} begin d:=god[i-1]<god[i]; if d=true then dd:=1 else dd:=0; m:=m*dd {если будет хоть один 0 то общий счетчик = 0} end; end; for i:=1 to n do begin writeln(text[i],' ',god[i]); end; end. |