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

Уменьшение значений элементов матрицы(перегрузка операции "--") - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ многоэтажные дроби в wxwigets http://www.cyberforum.ru/cpp-beginners/thread42311.html
Помогите реализовать ввод многоэтажных дробей в wxwigets(С++). Есть ли какие-нибудь базовые классы в wx для их реализации?
C++ Win32 in Visual Studio 2008 Я в С++ полный ноль, но хотелось бы создать простое приложение с интерфейсом(Button, Label, Edit...). Помогите советами и если не трудно набрасайте код. Заранее спастбо. http://www.cyberforum.ru/cpp-beginners/thread42242.html
Симплетрон C++
Прошу помощи с проектом. Во время компиляции вылетают следующие ошибки Compiling... 1>postfix.cpp 1>e:\g7\sim\sim\stack.h(5) : error C2011: 'stack' : 'class' type redefinition 1> e:\g7\sim\sim\stack.h(5) : see declaration of 'stack' 1>e:\g7\sim\sim\postfix.cpp(7) : error C2079: 'st' uses undefined class 'stack' 1>e:\g7\sim\sim\postfix.cpp(71) : error C2228: left of '.put' must have...
Идентификатор не найден C++
что не так....кажется все уже проверил... error C3861: sum_full: идентификатор не найден c:\documents and settings\admin\рабочий стол\compressed_matrix\compressed_matrix\main.cpp full_matrix mf1(number_of_rows); // создадим матрицу 1 mf1.init_full(number_of_rows); // заполним значениями full_matrix mf2(number_of_rows); // создадим матрицу 2 mf2.init_full(number_of_rows); //...
C++ Разработать шаблоновую функцию http://www.cyberforum.ru/cpp-beginners/thread42133.html
Уважаемые любители С++ помогите сделать программу: Разработать шаблоновую функцию которая находит сумму N максимальных членов последовательности типа std::list. Задачу решить максимально используя возможности библиотеки STL. Среда разработки Microsoft Visual Studio 6. В понедельник госэкзамен, Microsoft Visual Studio 6 сегодня поставил, но программировать на С++ не умею. Заранее благодарен!
C++ fseek вместо дополнительного массива (язык Си) Задача - в текстовом файл заменить все последовательности идущих подряд пробелов одним пробелом. Новый файл не создавать. Описание программы - прежде всего сохраняю размер текстового файла в переменной. Весь текст из файла переношу в специально выделенный динамический массив. Затем циклически читаются символы. Для каждого происходит вызов функции issp, которая возвращает значение,... подробнее

Показать сообщение отдельно
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
06.07.2009, 01:03     Уменьшение значений элементов матрицы(перегрузка операции "--")
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
#include <iostream>
 
template<typename T>
class array{
public:
    array():data(0),row(0), col(0){
    }
    array(const array &rhs):data(0),row(0),col(0){
        *this = rhs;
    }
    array(int _row, int _col):data(0),row(0),col(0){
        set_size(_row, _col);
    }
    ~array(){
        if(data) arrFree(data,row);
    }
    array &operator = (const array &rhs){
        set_size(rhs.row, rhs.col);
        for(int i = 0; i < row; ++i)
            for(int j = 0; j < col; ++j)
                data[i][j] = rhs.data[i][j];
        return *this;
    }
 
    void set_size(int _row, int _col){
        if(data) arrFree(data, row);
        data = arrCreate(_row, _col);
        row = _row;
        col = _col;
    }
    array &operator --(){
        for(int i = 0; i < row; ++i)
            for(int j = 0; j < col; ++j)
                --data[i][j];
        return *this;
    }
 
    friend std::ostream &operator << (std::ostream &lhs, const array &rhs){
        for(int i = 0; i < rhs.row; ++i){
            lhs << "[ ";
            for(int j = 0; j < rhs.col; ++j)
                lhs << rhs.data[i][j] << " ";
            lhs << "]" << '\n';
        }
        return lhs;
    }
 
    friend std::istream &operator >> (std::istream &lhs, array &rhs){
 
        for(int i = 0; i < rhs.row; ++i)
            for(int j = 0; j < rhs.col; ++j){
                std::cout << "arr[" << i << "]" << "[" << j << "] = ";
                lhs >> rhs.data[i][j];
            }
        return lhs;
    }
private:
    T **arrCreate(const int _row,const int _col){
        T **arr = new T*[_row];
        for(int i = 0; i < _row; ++i)
            arr[i] = new T[_col];
        return arr;
    }
    void arrFree(T **arr, int _row){
        for(int i = 0; i < _row; ++i)
            delete[] arr[i];
        delete[] arr;
        arr = 0;
    }
 
    T **data;
    int row;
    int col;
};
 
int main(){
    array<int> arr(2,2);
    std::cin >> arr;
    std::cout << arr << '\n';
    --arr;
    std::cout << arr << '\n';
    array<int> ar;
    ar = arr;
    --ar;
    std::cout << ar  << '\n';
    std::cout << arr << '\n';
 
    ar.set_size(3,3);
    std::cin >> ar;
    std::cout << ar << '\n';
    return 0;
}
так пойдет?
 
Текущее время: 23:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru