Последний раз редактировалось Toucan 21.04.2013, 01:03, всего редактировалось 1 раз.
Помогите найти ошибку
Program Olimp;
Uses CRT;
const N=10;
var
strana: array[1..N] of string [9]=('Австрия','Германия','Канада','Китай','Корея',
'Норвегия','Россия','США','Финляндия','Япония' array [1..MAX,1..MAX] of integer);
n: integer;
ok:boolean;
i,j: integer;
sum:integer;
temp:integer;
begin
Write ('Введите размер матрицы (3..4),и Нажмите Enter');
readln (n);
Writeln ('Введите строки матрицы');
Writeln('После ввода строки', n, 'целых чисел', 'нажимайте Enter');
for i:=1 to n do begin
write (' ');
for j:=1 to n-1 do read (a[i,j]);
readln (a[i,n]);
end;
ok:=TRUE;
sum:=0;
for i:-1 to n do sum:=sum+a[i,i];
i:=1
repeat
temp:=0;
for j:=1 to n do temp:=temp+a[i,j];
i:=i+1;
if temp <> sum then ok:=FALSE;
unit1 (not ok) or (i>n);
if ok then
end;
repeat
temp:=0;
for i:=1 to n do temp:=temp+a[1,j];
if temp <> sum then ok:=FALSE;
unit1 (not ok) or (j>n);
if ok then
begin
temp:=0;
j:=n;
for i:=1 to n do
begin
temp:=temp+a[i,j];
end;
if temp<> sum then ok:=FALSE;
end;
end;
write ('Введенная матрица');
if not ok
then write ('íå ');
writeln ('является магическим квадратом.');
readln;
const N=10;
strana: array[1..N] of string[9]=('Австрия', 'Германия', 'Канада', 'Китай', 'Корея' 'Норвегия', 'Россия', 'США', 'Финляндия', 'Япония' of integer;
result:=array [1..N+1, 1..5] of integer;
i,j:integer;
max: integer;
buf: string[9];
begin
writeln('итоги Олимпийских игр');
writeln('Введите в одной строке количество золотых', ','серебряных и бронзовых.');
for i:=1 to N do begin
write (strana[i],' ');
read (result[i,j], result[i,2]);
readln (result[i,3]);
end;
for i:=1 to N do begin
result[i,4]:=result[i,1]+result[1,2]+result[i,3];
result[i,5]:=result[i,1]*7+result[1,2]*6+result[i,3]*5;
end;
for i:=1 to N-1 do begin
max:=i;
for j:=i+1 to N do
if result[j,5]>result[max,5] then max:=j;
buf:=strana[i];strana[i]:=strana[max];strana[max]:=buf;
for j:=1 to 5 do begin
result[N+1,j]:=result[i,j];
end;
for j:=1 to 5 do begin
result[max,j]:=result[N+1,j];
end;
end;
Writeln;
Writeln('Итоги зимней Олимпиады в Нагано, 1998 г.');
Writeln('Стана':12,'Золото':8,'Серебро':8,'Бронза':8,'Всего':8,'Количество очков':8);
for j:=1 to N do begin
write(i:2,strana[i]:10);
for j:=1 to 5 do
write(result[i,j]:8;
writeln;
end;
readln;
end.
|