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

Конструктор копирования матриц, и заполнение лишнего нулями - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск в ширину http://www.cyberforum.ru/cpp-beginners/thread682770.html
Здравствуйте, я ознакомился с поиском в ширину в общем виде, знаю принцип работы, для чего используеться, но задаюсь вопросом об реализации! Допустим нам дан граф, начальная и конечная вершины. Как считать сам граф? Общую картину кода я понял, но меня интерисует полный разбор каждой строки, а то не понятно что за что отвечает. (опускаем объявление, только циклы, особое внимание на строки...
C++ Однонаправленный линейный список 2-мя массивами Добрый день нужна помощь в написании программы на с++. Надо создать однонаправленный линейный список при помощи 2 массивов. 1 массив содержит данные а второй указатели на эти данные. После надо реализовать 4 функции . 1. Вывод списка 2. Сортировка по возрастанию 3. добавление нового элемента после элемента совпадающего с вводимым с клавиатуры номером если таково номера нет то добавлять... http://www.cyberforum.ru/cpp-beginners/thread682761.html
Напечатать матрицу по k элементов в строке C++
Дана целочисленная матрица T(N, L), N<=7, L<=9. Напечатать матрицу по k элементов в строке (2<=k<=6). При этом k<=L. Напечатать также номера строки столбцов. Например при N = 2, L = 5, k = 3 для матрицы 7 7 7 7 7 8 8 8 8 8 печать должна быть такой: 1 2 3 1 7 7 7
C++ инициализация массива char в конструкторе
Вопрос такой. Есть класс simple, в классе есть поле char in. Естественно хочу инициализировать это поле в конструкторе. in={0}, инициализировать соответственно нулем, но что-то не так, что не так?
C++ Не могу скомпилировать unreal engine 3 http://www.cyberforum.ru/cpp-beginners/thread682717.html
Привет, решил попробовать скомпилировать исходники движка unreal engine 3, но после компилирование не знаю куда сохранился exe файл движка :). Исходники могу кинуть, они публичные.
C++ Частичная специализация шаблона Доброго всем времени суток! Помогите разобраться в следующей ситуации. Есть шаблон класса #include <iostream> using namespace std; template<class A, int val> подробнее

Показать сообщение отдельно
Gregory_Mas
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 26

Конструктор копирования матриц, и заполнение лишнего нулями - C++

29.10.2012, 11:53. Просмотров 1461. Ответов 13
Метки (Все метки)

Здравствуйте. Нужно создать конструктор, который копировал бы одну матрицу в другую. При нехватке размерности - заполнить остаток нулями.

Воооот... Собственно, с последним пунтиком проблема. Копирования происходит,но про нули - неизвестно. Выводит он матрицу ровно той же разномерности, что и копируемая.

Код, относящийся к задаче:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class Matrix
{
private:int m,n; //Размерность матрицы (закрытый парамер)
public: int **M; //Двумерный массив.
public: Matrix() //Заполнение массива NULLом.
        {
            m=0;
            n=0;
            M=NULL;
        }
 
public: Matrix(int a,int b)
        {m=a;
        n=b;
        Count++;
            M=new int *[m]; //m строк в массиве
            for (int i=0; i<m; i++)
                M[i]=new int [n];//n столбцов.
            for (int i=0; i<m; i++)
            {
                for (int j=0; j<n; j++)
                {
                    M[i][j]=0;
                }
            }
        }
 public: Matrix (const Matrix &Q)
        {
            for (int i=0; i<Q.m; i++)
            {for (int j=0; j<Q.n; j++) M[i][j]=Q.M[i][j];}
        }
public: void PrintM()//Вывод матрицы.
        {
        for (int i=0; i<m; i++)
            {
                for (int j=0; j<n; j++)
                {
                    cout<<M[i][j]<<' ';
                }
                cout<<endl;
        }
            }
 
};
 
int main()
{ int a,b,a1,b1;
cout<<"Input A and B: ";
    cin>>a>>b;
    Matrix Q(a,b);
    Q.RandomGenerete(a);
    cout<<"First matrix:"<<endl;
   Q.PrintM();
    cout<<"Please input A1 and B1: ";
     cin>>a1>>b1;
     Matrix M(a1,b1);
     M.PrintM();
     cout<<endl<<endl;
    M=Q;
     M.PrintM();
    }
В цикле копирования используются значения матрицы Q (копируемой). Но ведь когда мы отправляем М на вывод, размерность же берется матрицы М, а не Q, как получается на практике.
Скажите, людь добрыя, чего-йт не так?

Добавлено через 16 часов 10 минут
Люди, подскажите пожалуйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru