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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2012, 17:26   #1
MrBlackD
 
Регистрация: 15.10.2012
Сообщений: 3
По умолчанию Динамическая матрица

Здравствуйте. Вот у меня значит задача есть,создать динамическую матрицу и добавить к ней строку содержащую сумму элементов каждого столбца.И всё это реализовать в виде функций. Ну и собственно код почему то не работает,надеюсь что здесь люди знающие мне подскажут.
Код:
#include "stdafx.h"
#include <iostream>

using namespace std;
void input(int** &a,int n,int m);
void output(int** a,int n,int m);
void add(int** &a,int &n,int m);


int _tmain(int argc, _TCHAR* argv[])
{	
	int n=10;int m=10;
	int **a = new int* [n];
	for(int i=0;i<n;i++)
		a[i]=new int [m];
    input(a,n,m);
	output(a,n,m);
	add(a,n,m);
	output(a,n,m);

	return 0;
}

void input(int** &a,int n,int m){
	int x;
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
		{
			cin>>x;
			a[i][j]=x;
		}
}
	
void output(int** a,int n,int m){
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
		{
			cout<<a[i][j];

		}

}
        
void add(int** &a,int &n,int m){
	int**b=new int*[n+1];
	for(int i=0;i<n;i++){
		b[i]=new int[m];
		for(int j=0;j<m;j++)
			b[i][j]=a[i][j];
	}
	
	for(int j=0;j<m;j++)
		for(int i=0;i<n;i++)
			b[n][j]+=b[i][j];
	n=n+1;
	a=b;
}
MrBlackD вне форума Ответить с цитированием
Старый 15.10.2012, 17:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

n=11, и цикл for(int i=0;i<n-1;i++)
Чтоб эту строку не загородить.
Код:
void input(int** &a,int n,int m){
	int x;
	for(int i=0;i<n-1;i++)
		for(int j=0;j<n;j++)
		{
			cin>>x;
			a[i][j]=x; a[n-1][j]+=x;
		}
       
}
Теперь в у тебя последняя строка будет содержать итоговые суммы
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.10.2012, 18:26   #3
MrBlackD
 
Регистрация: 15.10.2012
Сообщений: 3
По умолчанию

Так он будет сразу при вводе заносить данные,а надо именно чтобы это делалось в отдельных функциях.Сперва матрица создавалась размера n x m,а затем только добавлялась строка.
MrBlackD вне форума Ответить с цитированием
Старый 15.10.2012, 18:49   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну ради бога )
Перепиши функцию ввода в функцию расчета итогов, убрав из нее ввод
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая матрица vbnmrf Общие вопросы C/C++ 4 02.12.2011 20:34
Динамическая матрица ДмитрийРэй Помощь студентам 0 09.05.2011 18:11
Динамическая матрица Shab13 Помощь студентам 1 21.04.2011 11:11
Динамическая матрица через класс и перегрузка artyom-d Общие вопросы C/C++ 0 03.04.2010 14:36
Динамическая матрица Selestis Общие вопросы Delphi 5 20.02.2010 20:37