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

Сложение и вычитание матриц. Перегрузка операторов. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Последовательность чисел http://www.cyberforum.ru/cpp-beginners/thread450237.html
Вводится последовательность целых чисел, 0 - конец последовательности. Определить, содержит ли последовательность хотя бы два числа, кратных 3, 5 и 7.
C++ Непонятка с указателями Как так что если указатель на int он покажет свой адрес а на char покажет символ свой. int * pointerInt = new int; char * pointerChar = new char; *int = 5; *char = "G"; cout << pointerInt << endl; //дает адрес где хранит cout << pointerChar << endl; //дает G Как понимать. http://www.cyberforum.ru/cpp-beginners/thread450224.html
C++ задача на среднее арифметическое
почему то не выводит дробное значение среднего арифметического. например массив будет 1 5 4 1 1.... ср.ар. = 2.4 а он прога выведет 2. почему? где ошибка в коде? # include <iostream> using namespace std; int main () { const int n=5; int mas, sum; float sa=0;
Выводится случайное значение переменной у при х=-3. Что делать? C++
Задание: Вычислить и вывести на экран таблицу функции y=f(x) в интервале с шагом h. Результаты представить в виде таблицы: х у _ _ _ _ ... ... Таблицу выровнять с помощью функций форматирования cout.width(), cout.precision().
C++ Создание программу с использованием меню http://www.cyberforum.ru/cpp-beginners/thread450215.html
Создать программу с использованием меню. В данной программе должен быть организован выбор одной из трех программ: 1. Арифметические операции 2. Одномерный массив 3. Двух мерный массив Для входа в меню необходимо ввести пароль.
C++ компоновщик бракует объектный файл Расширить язык и транслятор С0, реализовав в них следующие возможности: • Комментарий: (* в круглых скобках со звездочками *) /*************************************************************/ /* Компилятоp С0 Д.Г. Хохлов 10.04.03 */ /* */ /* Гpамматика С0: */ /*... подробнее

Показать сообщение отдельно
ШКІПЕР
94 / 94 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
21.02.2012, 18:46     Сложение и вычитание матриц. Перегрузка операторов.
Вася1q, сами себя спрашиваете и отвечает ? Оригинально В первом посте...


Цитата Сообщение от Вася1q Посмотреть сообщение
Ребята может вот так?((
Может быть. Вы не поставили конкретного задание - поэтому нет ответов.


Цитата Сообщение от Вася1q Посмотреть сообщение
результат сложения и вычитания в главную добавить
В главную функцию в смысле ? Объясните, что нужно ?

Вот, как вариант:

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
#include <conio.h>
#include <iostream>
using namespace std;
class Matrix
{
private:
    int aMas [3][3];
 
public:
    Matrix(){}
    void Vvod();
    void Vivod();
    Matrix operator+ (const Matrix&);
    Matrix operator- (const Matrix&);
    friend ostream &operator << (ostream &cout, Matrix &temp);
};
 
void Matrix::Vvod() 
{
    for(int i = 0;i<3;i++)
        for(int j = 0;j<3;j++)
        {
            cout<<"Vvedite ["<<i<<"]"<<"["<<j<<"]"<<" element massiva: ";
            cin>>aMas[i][j];
        }
}
 
void Matrix::Vivod() 
{
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
            cout<<aMas[i][j]<<" ";
            cout<<endl;
    }
}
 
Matrix Matrix::operator+(const Matrix &rhs)
{
    Matrix result(*this);
    for (size_t i = 0; i < 3; ++i)
    {
        for (size_t j = 0; j < 3; ++j)
        {
            result.aMas[i][j] += rhs.aMas[i][j];
        }
    }
    return result;
}
 
Matrix Matrix::operator-(const Matrix &rhs)
{
    Matrix result(*this);
 
    for (size_t i = 0; i < 3; ++i)
    {
        for (size_t j = 0; j < 3; ++j)
            result.aMas[i][j] -= rhs.aMas[i][j];
    }
 
    return result;
}
 
ostream &operator << (ostream &cout, Matrix &temp)
{
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
            cout<<temp.aMas[i][j]<<" ";
        cout<<endl;
    }
    return cout;
}
 
 
int main()
{
    Matrix aMas, aMas2;
    aMas.Vvod();
    aMas2.Vvod();
    /*aMas.Vivod();*/
    cout<<aMas2-aMas;
    system("pause");
    return EXIT_SUCCESS;     
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru