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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2011, 22:50   #1
Freeman-des
Пользователь
 
Регистрация: 10.11.2010
Сообщений: 53
По умолчанию Матрицы и С++

Написал простую програмку, которая сначала транспонирует матрицу, потом перемножает начальную на транспонированию.

Так вот, программа считает все, что нужно, но после вывода результата выходит ошибка:



Код:
#include <iostream>
using namespace std;
void main()
{
	int a[3][4],b[3][4],i=0,j=0,c[3][3],k=0,q=0;
	for (i=0;i<3;i++)
	{
		for (j=0;j<4;j++)
			cin >> a[i][j];
	}
	//транспонируем
	for (j=0;j<4;j++)
	{
		for (i=0;i<3;i++)
			b[j][i]=a[i][j];
	}
	for (i=0;i<3;i++)
	{
		for (j=0;j<3;j++)
		{
			for (k=0;k<4;k++)
			{
			q=q+a[i][k]*b[k][j];
			}
			cout<<q<<"\t";
			q=0;
			//результат умножения выводиться на экран в строку

		}
	}
}
Помогите, пожалуйста.
Freeman-des вне форума Ответить с цитированием
Старый 04.06.2011, 23:04   #2
Freeman-des
Пользователь
 
Регистрация: 10.11.2010
Сообщений: 53
По умолчанию

Пожалуйста, помогите. Срочно надо. Я вам все предоставил.
Freeman-des вне форума Ответить с цитированием
Старый 04.06.2011, 23:04   #3
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Эта ошибка ознаает выход за пределы отведенного под масив пространства, то есть переход в чужую память.

Так неправильно:
Код:
int b[3][4];	for (j=0;j<4;j++)
	{
		for (i=0;i<3;i++)
			b[j][i]=a[i][j];
	}
1 итерация j=0
2 итерация j=1
3 итерация j=2
4 итерация j=3, а выделено всего 3 элемента в первой мерности массива, то есть произошло серьезное падение


Структура a
* * * *
* * * *
* * * *

Транспонированная a = b
* * *
* * *
* * *
* * *

Правильно int b[4][3]
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 04.06.2011, 23:07   #4
Freeman-des
Пользователь
 
Регистрация: 10.11.2010
Сообщений: 53
По умолчанию

Большое спасибо!
Freeman-des вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Будем называть соседями элемента с индексами ij некоторой матрицы такие элементы этой матрицы, соответ... just_dake Помощь студентам 7 28.12.2018 14:33
Для матрицы 8x8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. (Задание на Си) Ислам Помощь студентам 8 20.05.2011 20:56
Процедуры - вычислить количество элементов матрицы,кратных 5 и заменить на 0 все четные элементы матрицы Ksenichka Помощь студентам 1 19.05.2011 14:38
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. Volk_xD Помощь студентам 6 05.01.2011 13:39
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19