WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Почему массивы ведут себя странно???

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Почему массивы ведут себя странно???
dodger опубликован 23-12-2001 21:12 MSK   Click Here to See the Profile for dodger   Click Here to Email dodger  
Я пишу прогу, которая вычисляет потенциал поля по уравнению Лапласа.
Вот кусок, который собственно и должен вычислять все эти потенциалы:

float h = 0;
h = (InputArray[0][m_cols] - InputArray[0][0])/m_cols;
int i,j;

for(i=0;i<m_rows;i++)
{
for(j=0;j<m_cols;j++)
{
if(InputArray[i][j] == 0)
{
float Output = ((InputArray[i+1][j]+InputArray[i][j+1]+InputArray[i-1][j]+InputArray[i][j-1])/4)+(h*(InputArray[i][j+1]-InputArray[i][j-1])/(8*(InputArray[i][j]-InputArray[i-1][j-1])));
InputArray[i][j] = Output;
InsertListItem( i,j, NumToStr( Output, 0 ) );
}
}
}
Когда я нажимаю кнопку для расчета вылетает ошибка...Почему не знаю, и в h заносится не то, что нужно, а какое-то левое число.
Помогите справится с массивами. Массивы задаются по стилю STL.
InputArray[i][j] - исходный массив.

ViSko опубликован 24-12-2001 00:44 MSK     Click Here to See the Profile for ViSko  Click Here to Email ViSko     
Из изложенной информации трудно что-то понять, уточните? Что за ошибка? А то слишком долго копаться.
Flex Ferrum опубликован 24-12-2001 10:43 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
У тебя пробоема в конструкциях наподобие
InputArray[i+1][j]. По достижению i или j значений m_rows и m_cols, соответсвенно, будет сдлана попытка обратиться к несуществующему элементу массва, находящемуся за его пределами. Результат этой операции, как известно, непредсказуем.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.