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

Класс матриц - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить значение выражения рекурсивно http://www.cyberforum.ru/cpp-beginners/thread210126.html
Доброго времени суток! Помогите решить подсчитать значение выражения с помощью рекурсии. Вот в картинке сохранил то, что надо посчитать. http://i071.***********/1012/5b/6480de56c930.jpg (если нельзя открыто вставлять подобные ссылки, прошу извинения и на первый раз строго не судить, а просто рассказать как правильно это сделать, может у форума своя галерея) Есть код, где я вычислял...
C++ Шаблон класса вектор с двумя членами-данными Здравствуйте Уважаемые. Нужна Ваша помощь в реализации программы: Построить шаблон класса Vector. Определите класс Record (запись) с двумя членами-данными: count (количество) и price (цена). Упорядочить вектор из таких записей по каждому из членов. Добавлено через 2 часа 5 минут Помогите, пожалуйста. Очень надо :cry: http://www.cyberforum.ru/cpp-beginners/thread210123.html
C++ Алгоритм Флойда - Уоршелла
не получается реализовать алгоритм Флойда-Уоршелла, вроде все должнен выводить, а выводит или нули или вообще ничего, ошибок не выводит не понимаю в чем дело. вот код проги #include "stdafx.h" #include "iostream" #include "string.h" #include "conio.h" #include "stdlib.h" #include "stdio.h" int d; using namespace std;
C++ Найти сумму элементов строки матрицы, в которой расположен элемент с наименьшим значением
ребята очень нужна помощь при выводе матрицы.Кто сможет помоч если сможет.Нада MFC AppWizard.exe проект и вот задание Дана действительная матрица размера m*n. Найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент един-ственный. С меня пивко... Добавлено через 5 часов 59 минут откликнетесь кто нибудь))
C++ Сравнение методов сортировок массивов. Семестровая работа http://www.cyberforum.ru/cpp-beginners/thread210105.html
Пишу семестровую по методам сортировки массивов. В моем варианте метод прямого выбора и метод Шейкера. Надо сравнить количество перестановок для различного числа элементов массива. n = 20, 40,60,...,10000. с- количество сравнений m - количество перестановок t - время работы функции сортировки Сравнение идет на 3 видах массивов почти упорядоченный, плохо упорядоченный и случайный. Я...
C++ При чтении файла последний элемент повторяется дважды появилась необходимость выучить работу с файлами за 9 часов #include <iostream> #include <time.h> #include <stdio.h> #include <stdlib.h> int main() { подробнее

Показать сообщение отдельно
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 402

Класс матриц - C++

13.12.2010, 18:29. Просмотров 10786. Ответов 9
Метки (Все метки)

Пытаюсь написать класс матриц.Никак не удаётся перегрузить оператор = .
Выдаёт :
ambiguous overload for 'operator=' in 'k = b'
candidates are: Matrix Matrix::operator=(Matrix)
Matrix& Matrix::operator=(const Matrix&)

Помогите, пожалуйста,разобраться

вот сам класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Matrix
{
    private:
            int nstr,nstl;
            int **a;
    public:
            Matrix (int m,int n);  
            Matrix (int m,int n,int *b);       
            ~Matrix ();
            Matrix operator + (Matrix b);
            Matrix operator * (Matrix b);
            Matrix operator * (int c);
            Matrix operator = (Matrix b);
            Matrix operator += (Matrix b);
            Matrix (const Matrix &T);
            Matrix & operator = (const Matrix &);
            void Print ();
};
вот методы

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include "Matrix.h"
#include <iostream.h>
#include <iomanip.h>
Matrix::Matrix (int m,int n)
{    
     nstr=m;
     nstl=n; 
     a=new int *[nstr]; 
     for (int j=0;j<nstr;j++)
     {
        a[j]=new int[nstl]; 
        for (int i=0;i<nstl;i++)
           a[j][i]=0;     
     }
}
Matrix::Matrix (int m,int n,int *b)
{
     nstr=m;
     nstl=n; 
     int k=0;
     a=new int *[nstr]; 
     for (int j=0;j<nstr;j++)
     {
        a[j]=new int[nstl]; 
        for (int i=0;i<nstl;i++)
        {
           a[j][i]=b[k];
           k++;
        }       
     }
}           
Matrix::~Matrix()
{
    for (int i=0;i<nstr;i++)
       delete []a;             
}
Matrix::Matrix (const Matrix& T)
{ 
    nstr=T.nstr;
    nstl=T.nstl;           
    for (int i=0;i<T.nstr;i++)
       for (int j=0;j<T.nstl;j++)
          a[i][j]=T.a[i][j];                
}
Matrix & Matrix::operator = (const Matrix & T)
{
   if (this == &T) 
      return *this;
   else
   {
       delete a;
       nstr=T.nstr;
       nstl=T.nstl;
       a=new int *[nstr]; 
     for (int j=0;j<nstr;j++)
     {
        a[j]=new int[nstl]; 
        for (int i=0;i<nstl;i++)
           a[j][i]=T.a[i][j];     
     }
     
     
 
       return *this; 
   }        
}
void Matrix::Print ()
{
    for (int i=0;i<nstr;i++)
    {
       for (int j=0;j<nstl;j++)  
          cout<<setw(3)<<a[i][j];
       cout<<endl;   
    }           
}
и вот main
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <cstdlib>
#include <iostream.h>
#include "Matrix.h"
int main()
{
    int c[10]={1,2,3,4,5,6,7,8,9,10};
    Matrix b(5,2,c),k(5,2);
    k=b;
    k.Print();
    system("PAUSE");
    return 0;
}
ошибка в 8 строке ф-ии main
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru