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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
#1

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

22.03.2011, 11:18. Просмотров 345. Ответов 7
Метки нет (Все метки)

Здраствуйте!
У меня тут ошибка в коде, не подскажите где.
Сама задача такова: Дано натуральное число 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.
Я так понимаю это ошибка при делений.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2011, 11:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица.Ошибка при делений. (C++):

Найти те числа последовательности, которые при делений на 7 дают остаток 1,2 или 5 - C++
1)Даны натуральные числа n,q1....qn.Найти те числа q1 последовательности q1...qn которые при делений на 7 дают остаток 1,2 или 5. ...

Класс "Матрица", ошибка при выводе результата - C++
Всем доброго времени суток! Нужно под main создать header и реализацию! Я застрял на operator- (а точнее при выводе на экран результата)!...

Перевод из 10 в 2 систему счисления БЕЗ делений - C++
Здравствуйте, помогите пожалуйста, написать программу перевода из десятичной в двоичную систему счисления без делений вот по этой блок...

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

(матрица)Почему ошибка в if? - C++
int d=1;k=0; for(j=k;j&lt;d;j++,d++) for(i=0;i&lt;n;i++) {if(a%2!=0)// Здесь ошибка

Матрица,в чем ошибка? - C++
Дана шахматная доска 8*8, при вводе координат, должны отображатться ходы Ферзя. #include &lt;iostream&gt; using namespace std; int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
FtarG
129 / 129 / 6
Регистрация: 02.11.2010
Сообщений: 316
22.03.2011, 11:39 #2
Цитата Сообщение от Just_dake Посмотреть сообщение
i,j=1,...,n
Бери i и j от 1, а не от 0. А так у тебя на 0 делит, что естественно вызывает ошибку.
1
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
22.03.2011, 11:45  [ТС] #3
Если возьму от 1-го, то все эл-ты матрицы становятся равными нулю. И еще матрица становится 4х4, а не 5х5.
0
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++)
........................
и все получится.
1
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
22.03.2011, 11:52  [ТС] #5
Но почему все эл-ты матрицы становятся равными нулю?
0
IrineK
Заблокирован
22.03.2011, 11:57 #6
У вас матрица не int, а double.

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

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

Ошибка с кодом(матрица) - C++
Программа с обходом матрицы проблема &quot;аргумент int несовместим c gfhfvtnhjv const char #include &quot;stdafx.h&quot; #include &lt;iomanip&gt; ...

Ошибка - Матрица гауса - C++
Ошибка заключается что он не вычесляет дальше. Что делать//Матрица гауса. #include &lt;iostream&gt; #include&lt;stdio.h&gt; using namespace std; ...

Ошибка. Матрица с перегруженными операторами - C++
Здравствуйте, Прошу помочь с ошибкой: Студия не принимает строку: m3 = m1 + m2; // Error 2 error C2110: '+' : cannot add two point...

Ошибка этапа исполнения в классе Матрица - C++
Всем привет снова!) Теперь я написала код по задаче, которая гласит: &quot;у вас есть два класса -один одномерный массив, другой матрица. Вы...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.03.2011, 12:06
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru