Const n=6; var a:array[1..n,1..n]of integer; b:array[1..n]of integer; i,j:integer; begin for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(100); write(a[i,j]:4); end; b[i]:=a[i,i]; writeln; end; writeln; for i:=1 to n do write(b[i]:4); end. вариант главной и побочной диагонали в одномерный массив const n=6; var a:array[1..n,1..n]of integer; b:array[1..n*2]of integer; i,j,k:integer; begin writeln; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(100); write(a[i,j]:4); end; k:=k+1; b[k]:=a[i,i]; k:=k+1; b[k]:=a[i,n+1-i]; writeln; end; writeln; for i:=1 to n*2 do write(b[i]:4); end.
n=6;
var
a:array[1..n,1..n]of integer;
b:array[1..n]of integer;
i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
b[i]:=a[i,i];
writeln;
end;
writeln;
for i:=1 to n do
write(b[i]:4);
end.
вариант главной и побочной диагонали в одномерный массив
const
n=6;
var
a:array[1..n,1..n]of integer;
b:array[1..n*2]of integer;
i,j,k:integer;
begin
writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
k:=k+1;
b[k]:=a[i,i];
k:=k+1;
b[k]:=a[i,n+1-i];
writeln;
end;
writeln;
for i:=1 to n*2 do
write(b[i]:4);
end.
const
MAX = 20;
var
s:string;
stack:array[1..MAX] of string;
top:integer;
i:byte;
procedure Push(ch:string);
begin
if top>=MAX then WriteLn('Stask full')
else
begin
stack[top]:=ch;
top:=top+1;
end;
end;
function Pop:string;
begin
top:=top-1;
if top<1 then
begin
WriteLn('Stack underflow');
top:=top+1;
end
else Pop := stack[top];
end;
begin
top:=1;
s:='<asdf<asdf>asdf>';//правильная строка
for i:=1 to length(s) do
begin
if s[i]='<' then Push('<');
if s[i]='>' then
if Pop()<>'<' then WriteLn('Ошибка!');
end;
if top<>1 then WriteLn('Ошибка!');
top:=1;
s:='<asdf<asdfasdf>';//не правильная строка
for i:=1 to length(s) do
begin
if s[i]='<' then Push('<');
if s[i]='>' then
if Pop()<>'<' then WriteLn('Ошибка!');
end;
if top<>1 then WriteLn('Ошибка!');
end.
Объяснение: