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

Перегрузка операторов при работе с матрицей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сохранение данных массива из файла в виде матрицы http://www.cyberforum.ru/cpp-beginners/thread1211088.html
В файле данные одномерного массива, нужно эти данные сохранить в другой файл в виде матрицы 3x5, подскажите как это сделать. Пишу курсач, застрял на этом моменте. Вот код который написал: #include <windows.h> #include <iostream> #include <fstream> #include <string> using namespace std;
C++ В главной функции ввод двумерного массива с файла и вывод полученных результатов в конец входного файла Составить программу на языке C++, состоящую из двух функций с использованием указателей. В главной функции выполнить ввод двумерного массива с файла и вывод полученных результатов в конец входного файла. В вызываемой функции выполнить обработку двумерного массива. Дана матрица n на n. Сформировать новую матрицу n+1 на n+1, где n+1 столбцом является min каждой строки, а n+1 строкой — max... http://www.cyberforum.ru/cpp-beginners/thread1211061.html
C++ Вычислить значение выражения
Составить программу на языке С++ для обработки одномерных массивов с использованием указателей: 1. Ввести n элементов одномерного массива с входного файла; 2. Вычислить указанное выражение; 3. Вывести значение указанного выражения в выводной файл.
C++ C++ обработка двумерного массива с использованием указателей и входных и выходных файлов
Составить программу на языке C++ для обработки двумерных массивов с использованием указателей и входных и выходных файлов. Дана матрица n на n. Сформировать новую матрицу n+1 на n+1, где n+1 столбцом является min каждой строки, а n+1 строкой — max каждого столбца; последний элемент а равен сумме max строк и min всех столбцов. Исходный код: #include <iostream> using namespace std; ...
C++ Выравнивание строк до заданной длины http://www.cyberforum.ru/cpp-beginners/thread1211026.html
Нужно выровнять строку по правому краю до заданной длины. #include <iostream> #include <string> using namespace std; void pad(string& s, int len) { if (s.length() >= len) return; s.insert(s.begin(), len - s.length(), ' ');
C++ Найти среднеарифметическое элементов массива В общем, есть одна тян задача. "Дан массив из n-элементов, заполненный датчиком случайных чисел в диапазоне от -50 до 50. Найти среднеарифметическое элементов массива." Нужна сама программа, ибо совсем не могу в программирование, а сдать нужно. :/ подробнее

Показать сообщение отдельно
aLarman
640 / 561 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
18.06.2014, 09:57     Перегрузка операторов при работе с матрицей
эм...я Вам другую реализацию сложения предлагал

Добавлено через 2 минуты
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
class Matrix
{
    int long** mas;
    int size_x;
    int size_y;
 
    const Matrix operator+ (const Matrix&);
 
    void init()
    {
        mas = new int long*[size_y];
        for (int i = 0; i < size_y; i++)
        {
            mas[i] = new int long[size_x];
        }
    }
 
    void fill()
    {
        for (int i = 0; i < size_y; i++)
        {
            for (int j = 0; j < size_x; j++)
            {
                mas[i][j] = rand() % 10;
            }
        }
    }
 
public:
 
    Matrix()
    {
        size_x = 0;
        size_y = 0;
    }
 
    Matrix(int x, int y)
    {
        size_x = x;
        size_y = y;
        init();
        fill();
    };
 
    Matrix(const Matrix& rhs)
    {
        size_x = rhs.size_x;
        size_y = rhs.size_y;
        init();
        for (size_t i = 0; i < size_y; i++)
        {
            for (size_t j = 0; j < size_x; j++)
            {
                mas[i][j] = rhs.mas[i][j];
            }
        }
    };
 
    ~Matrix()
    {
        for (int i = 0; i < size_y; i++)
        {
            delete[] mas[i];
        }
        delete[] mas;
 
    }
 
    void print()
    {
        for (int i = 0; i < size_y; i++)
        {
            for (int j = 0; j < size_x; j++) {
                cout << mas[i][j] << ' ';
            }
            cout << endl;
        }
    }
};
 
const Matrix Matrix::operator+(const Matrix &rhs)
{
    Matrix result(rhs.size_x, rhs.size_y);
 
    for (size_t i = 0; i < size_y; ++i)
    for (size_t j = 0; j < size_x; ++j)
        result.mas[i][j] = mas[i][j] + rhs.mas[i][j];
 
    return result;
}
короч так
 
Текущее время: 04:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru