Показать сообщение отдельно
иксуй!
Аватар для иксуй!
Сообщения: 9,553
Регистрация: 23.11.2007
Старый пост, нажмите что бы добавить к себе блог 9 апреля 2011, 15:42
  #1182 (ПС)
-Цитата от Трэй Посмотреть сообщение
дан двумерный массив.найти сумму чисел стоящих в верхней части между главной и побочной диагональю
попытка решения
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];
inc(p);
odd(k);
end;
end;
end
else break;
end;
writeln(s);
readln;
end.

схема
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

ответ 13

в классе у меня выводил, что сумма равна 9, а сейчас вообще только 6
снова только 9.походу он не считает число из второй строки
внимательно смотри как у тебя p и k меняются. их надо не там увеличивать и уменьшать, а в первом цикле.

offline
Ответить с цитированием