-Цитата от иксуй! -Цитата от Трэй -Цитата от иксуй! внимательно смотри как у тебя p и k меняются. их надо не там увеличивать и уменьшать, а в первом цикле.
Показать скрытый текст
Код:
begin
if k>=p then
begin
for i:=1 to n do
begin
for j:=p to k do
begin
s:=s+a[i,j];
end;
p:=p+1;
k:=k-1;
end;
end
else break;
end;
ответ 32
Условный оператор тоже нужно во внешний цикл по i перенести. У тебя же условие это всего один раз перед входом в цикл проверяется.
всё равно не получается
я уже 3 способами её пытаюсь сделать и всё равно нихуя(((
всё, получилось
спасибо, иксуй за подсказки
решение
var a:array[1..50,1..50] of integer;
s,p,k,n,i,j,q:integer;
begin
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
begin
readln(a[i,j]);
end;
end;
s:=0;
p:=2;
k:=n-1;
for q:=1 to n do
begin
if k>=p then
begin
for i:=1 to n do
begin
for j:=p to k do
begin
s:=s+a[i,j];
end;
p:=p+1;
k:=k-1;
end;
end
else break;
end;
writeln(s);
readln;
end.