Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
8:36
3408
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->

Авторзнатокам Pascala
Что не так в этой программе?
program pr1;
uses crt;
var n,x,y,i,sum:integer; a:array[1..100] of integer;
begin
read(n);
for i:= 1 to n do
for x:=1 to i do
for y:=1 to n-i+1 do
a[x,y]:=+a[x,y]+1;
sum:=0;
for x:=1 to n do
for y:=1 to n do
sum:=sum+a[x,y]
writeln(sum);
end.
Запускаю-пишет массив имеет другое количество размерностей. Как исправить?
Что не так в этой программе

Ничего не понятно.
:)
Напиши на С++ =)
на с++ могу только фрагмент записать, а ты мне поможешь с ответом, ок?
Мне пофиг, я флудераст.
a[x,y]:=+a[x,y]+1;
На этой строчке ошибку показывает?
у тебя задан одномерный массив а a[x,y]:=+a[x,y]+1;а это вызов двумерного
Наверное, проблема в том, что массив имеет другое количество размерностей
объявлен одномерный массив:
a:array[1..100] of integer;
а вот здесь:
a[x,y]:=+a[x,y]+1;
обращаются к двумерному массиву

Как исправить: ну например, объявить двумерный массив вот так:
а:array[1..100, 1..100] of integer;

А вообще программы выглядит крайне фиговов и никак не защищается от ошибок. Вот введут в начале n=200 - сразу ошибку получишь.
он же сам тебе пише, что размерность массива задана неверно :)
Скорее всего тебе просто надо добавить
var n,x,y,i,sum:integer; a:array[1..100,1..100] of integer;у
все, всем спасибо, разобрался)
тема закрыта by ShnapsKoRn (2009-11-25 15:53:40)
К списку тем
2007-2025, онлайн игры HeroesWM