Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2014, 22:57   #1
Shinshilla
 
Регистрация: 11.11.2014
Сообщений: 9
По умолчанию

задача на перемножение двух матриц

выдаёт ошибку: Необработанное исключение по адресу 0x012F6255 в ConsoleApplication27.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0xCDCDCDD1.
Код:
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL, "Russian");
	int **a, **b, **c, m, n, q, i, j, k, summ;
	cout << "Введите количество строк 1 матрицы ";
	cin >> m;
	cout << "Введите число столбцов 1 матрицы ";
	cin >> n;
	cout << "По правилу перемножения матриц, число столбцов в 
первой матрице равно числу строк во второй, так что необходимость 
ввода количества столбцов второй матрицы отпадает!" << "\n";
	cout << "Введите количество строк 2 матрицы ";
	cin >> q;
	a = new int*[m];
	for (i = 1; i < m + 1; i++)
		a[i] = new int[n];
	for (i = 1; i < m + 1; i++)
		for (j = 1; j < n + 1; j++)
		{
		cout << "a[" << i << "][" << j << "]=";
		cin >> a[i][j];
		}
	b = new int*[n];
	for (i = 1; i < n + 1; i++)
		b[i] = new int[q];
	for (i = 1; i < n + 1; i++)
		for (j = 1; j < q + 1; j++)
		{
		cout << "b[" << i << "][" << j << "]=";
		cin >> b[i][j];
		}
	c = new int*[m];
	for (i = 1; i < m + 1; i++)
		c[m] = new int[q];
	for (i = 1; i < m + 1; i++)
		for (j = 1; j < q + 1; j++)
		{
		summ = 0;
		for (k = 1; k < n + 1; k++)
		{
			summ += a[i][k] * b[k][j];
		}
		c[i][j] = summ;
		}
	for (i = 1; i < m + 1; i++)
		for (j = 1; j < q + 1; j++)
		{
		cout << "c[" << i << "][" << j << "]=" << c[i][j] << ";";
		}
	system("pause");
	return 0;
}
Всем заранее спасибо!

Последний раз редактировалось Stilet; 12.11.2014 в 07:18.
Shinshilla вне форума Ответить с цитированием
Старый 12.11.2014, 00:08   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Может пора уже повзрослеть, а?
Пипиську начать называть членом, а массивы индексировать с нуля! Мля!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.11.2014, 00:13   #3
Shinshilla
 
Регистрация: 11.11.2014
Сообщений: 9
По умолчанию

XD.....................
Shinshilla вне форума Ответить с цитированием
Старый 12.11.2014, 00:16   #4
Shinshilla
 
Регистрация: 11.11.2014
Сообщений: 9
По умолчанию

за ссылку спс)
Shinshilla вне форума Ответить с цитированием
Старый 12.11.2014, 00:20   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от Shinshilla Посмотреть сообщение
за ссылку спс)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.11.2014, 07:20   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
for (i = 1; i < m + 1; i++)
Это что? Почему m+1? Тут же как раз выход за пределы массива. И начало массива с нуля а не с 1.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку в задаче! Игорь777 Помощь студентам 4 26.04.2009 18:31
Помогите исправить ошибку в задаче Vladislav_87 Паскаль, Turbo Pascal, PascalABC.NET 4 04.07.2008 12:27
Помогите дописать и исправить ошибку в задаче Vladislav_87 Паскаль, Turbo Pascal, PascalABC.NET 5 30.05.2008 00:14
Помогите исправить ошибку в задаче VANOLORD Паскаль, Turbo Pascal, PascalABC.NET 9 19.05.2008 22:16