Форум программистов, компьютерный форум CyberForum.ru

Матрица.Ошибка при делений. - C++

Восстановить пароль Регистрация
 
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
22.03.2011, 11:18     Матрица.Ошибка при делений. #1
Здраствуйте!
У меня тут ошибка в коде, не подскажите где.
Сама задача такова: Дано натуральное число n. Получить действительную матрицу a[i,j]i,j=1,...,n , для которой a[i,j]=1/i+j;
Код
#include <stdio.h>
#include<conio.h>
#include<stdlib.h>
#define n 5
int main()
{
int a[n][n];
int i,j;
clrscr();
randomize();
printf("Nachalnaya matrica:\n\n");
for(i=0;i<n;i++)
 {for(j=0;j<n;j++)
  {a[i][j]=random(100);
   printf(" %2i",a[i][j]);
  }
 printf("\n\n");
 }
printf("Obrabotannaya matrica:\n");
for(i=0;i<n;i++)
 {for(j=0;j<n;j++)
  {a[i][j]=1/(i+j);
   printf(" %2i",a[i][j]);
  }
printf("\n\n");
 }
getch();
}
Выводит ошибку: Divide error.
Я так понимаю это ошибка при делений.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FtarG
 Аватар для FtarG
128 / 128 / 6
Регистрация: 02.11.2010
Сообщений: 316
22.03.2011, 11:39     Матрица.Ошибка при делений. #2
Цитата Сообщение от Just_dake Посмотреть сообщение
i,j=1,...,n
Бери i и j от 1, а не от 0. А так у тебя на 0 делит, что естественно вызывает ошибку.
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
22.03.2011, 11:45  [ТС]     Матрица.Ошибка при делений. #3
Если возьму от 1-го, то все эл-ты матрицы становятся равными нулю. И еще матрица становится 4х4, а не 5х5.
IrineK
Заблокирован
22.03.2011, 11:48     Матрица.Ошибка при делений. #4
Just_dake,
обрати внимание на условие задачи:
a[i,j] i,j=1,...,n
Просто пиши:
C++
1
2
3
 for(i=1;i<n+1;i++)
     for(j=1;j<n+1;j++)
........................
и все получится.
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
22.03.2011, 11:52  [ТС]     Матрица.Ошибка при делений. #5
Но почему все эл-ты матрицы становятся равными нулю?
IrineK
Заблокирован
22.03.2011, 11:57     Матрица.Ошибка при делений. #6
У вас матрица не int, а double.

C++
1
2
3
double a[n][n];
........
a[i][j]=1.0/(i+j);
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
22.03.2011, 11:57     Матрица.Ошибка при делений. #7
Цитата Сообщение от Just_dake Посмотреть сообщение
Но почему все эл-ты матрицы становятся равными нулю?
потому что ты используешь целочисленный тип.

Цитата Сообщение от FtarG Посмотреть сообщение
Бери i и j от 1, а не от 0. А так у тебя на 0 делит, что естественно вызывает ошибку.
тут можно оставить как есть, только скорректировав немного саму формулу для вычисления
C
1
a[i][j]=1/(i+j+2);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2011, 12:06     Матрица.Ошибка при делений.
Еще ссылки по теме:

C++ Класс "Матрица", ошибка при выводе результата
Ошибка этапа исполнения в классе Матрица C++
C++ Ошибка. Матрица с перегруженными операторами

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
22.03.2011, 12:06  [ТС]     Матрица.Ошибка при делений. #8
От оно че, понял, всем Спасибо
Yandex
Объявления
22.03.2011, 12:06     Матрица.Ошибка при делений.
Ответ Создать тему
Опции темы

Текущее время: 01:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru