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

Классы, матрицы, перегрузка операторов, дружественные функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Считать строку в массив символов, который является членом класса http://www.cyberforum.ru/cpp-beginners/thread826549.html
гетлайны, гетси, манипуляторы ws не работают (не могу заставить) #include <iostream> using namespace std; class employee { private: char name; long employee_id;
C++ Напечатать все слова отличные от последнего и удовлетворяющие следующему свойству: Задан текст, между словами пробел, за последним словом точка. Напечатать все слова отличные от последнего и удовлетворяющие следующему свойству: буквы слова упорядочены по алфавиту. Использовать функции. (Плииз, программки нужны для Borland C++!)-но не обязательно! Спасибо заранее!!!!!___))) http://www.cyberforum.ru/cpp-beginners/thread826526.html
Список списков C++
Как реализовать конструкцию списка списков? std::list <HWND> List; В этот список у меня попадают кнопки, по ним строится ломаная. Чтобы реализовать несколько ломаных мне нужен список в котором будут списки всех точек по которым строятся ломаные.
C++ Даны два массива А и В, получить массив C
даны два массива А и В размером m*n, получить массив C=min(aij,bij)
C++ Быстрое преобразование Фурье http://www.cyberforum.ru/cpp-beginners/thread826513.html
Это пример на сайте wikipedia Быстрого Преобразование Фурье. Два вопроса. 1)Как получить массив анализируемых данных для wav файла. 2)Как получить массив анализируемых данных для захвата звука с микрофона. // AVal - массив анализируемых данных, Nvl - длина массива должна быть кратна степени 2. // FTvl - массив полученных значений, Nft - длина массива должна быть равна Nvl.
C++ Написан код который выводит матрицу .Нужно протранспонировать ее Написан код который выводит матрицу .Нужно протранспонировать ее. #include <iostream> #include<stdlib.h> #include<time.h> #define maximum 100 using namespace std; подробнее

Показать сообщение отдельно
lopata
5 / 5 / 0
Регистрация: 09.12.2009
Сообщений: 42
03.04.2013, 02:27     Классы, матрицы, перегрузка операторов, дружественные функции
Гляньте пожалуйста, как получилось сделать задание, что неверно:
Создать класс, в котором перегрузить операторы:

& для перемножения двух матриц;

+ для сложения двух матриц.

Память под матрицы отводить динамически. Предоставить конструктор копирования. Определить friend функции для операций ввода-вывода в поток.

А вот что получилось:
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include<iostream>
using namespace std;
 
class Matrix 
{
private:
int size;
int **matrix;
friend void Show(Matrix &);
friend void get_matrix(Matrix &);
public:
    Matrix(int N);
    Matrix (Matrix &);
    Matrix operator+ (const Matrix&);
    Matrix operator& (const Matrix&);
    
};
    Matrix::Matrix(int N)
    {   
        size=N;
        matrix = new int*[size];
        for(int i=0; i<size; i++)
            matrix[i]=new int[size];
    }
 
 
    Matrix::Matrix (Matrix &obj)
    {
    size= obj.size;
    matrix= new int*[size];
    for (int i=0; i<size; i++)
        matrix[i]=new int[size];
        for (int i=0; i<size; i++)
            for (int j=0;j<size; j++)
                matrix[i][j]=obj.matrix[i][j];
    }
 
    void Show(Matrix &Obj)
    {
        for (int i=0; i<Obj.size; i++){
            for (int j=0; j<Obj.size;j++)
                cout<<Obj.matrix[i][j]<< " ";}
                cout<< endl;
    }
 
    void get_matrix(Matrix &Obj)
    {
        for (int i=0; i<Obj.size; i++)
            for (int j=0; j<Obj.size;j++)
            {
                cout<<"wwedi["<<i+1 <<"]["<<j+1<<"] element matrici: ";
                cin>> Obj.matrix[i][j];
            }
    }
    Matrix Matrix::operator+(const Matrix &Obj)
    {
    Matrix result(*this);
        for (int i = 0; i < Obj.size; i++)
            for (int j = 0; j < Obj.size; j++)
        result.matrix[i][j] += Obj.matrix[i][j];
    return result;
    }
 
    Matrix Matrix::operator&(const Matrix &Obj)
    {
        Matrix result(*this);
for (int i = 0; i < Obj.size; i++)
    for (int j = 0; j < Obj.size; j++)
        result.matrix[i][j] *= Obj.matrix[j][i];
return result;
    }
 
void main()
{
int N;
cout<<"Wwedi razmer: ";
cin>>N;
 
Matrix m1(N);
get_matrix(m1);
 
Matrix m2=m1;
get_matrix(m2);
Show(m1);
cout<< endl;
Show(m2);
cout << endl;
Matrix m3=m1+m2;
 
Show(m3);
Matrix m4= m1&m2;
Show(m4);
system ("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru