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

Матрица произвольной размерности - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Тлеу
 Аватар для Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
11.10.2011, 13:09     Матрица произвольной размерности #1
Разработать класс, объект которого реализует «пользовательский» тип данных. Обеспечить его произвольную размерность за счет использования в объекте динамических структур данных. Разработать необходимые конструкторы, деструктор, конструктор копирования, а также методы, обеспечивающие изменение отдельных составных частей объекта (например, коэффициентов полинома) и вывод его содержимого.
9. Матрица произвольной размерности, представленная размерностями и динамическим массивом указателей на динамические массивы - строки матрицы.

 Комментарий модератора 
Условие отредактировано.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тлеу
 Аватар для Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
19.10.2011, 14:42  [ТС]     Матрица произвольной размерности #21
у тебя билдер 6 стоит???она без проблем запускается???я сейчас не могу посмотреть на ошибки,потому что не в университете(((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
19.10.2011, 14:53     Матрица произвольной размерности #22
Цитата Сообщение от Тлеу Посмотреть сообщение
у тебя билдер 6 стоит???
- у меня 4.5 и 98-ая и 2008 студии, если уже так критично вечером билдер 6-й попробую инсталлировать, но как мне кажется что в 4,5 идёт в 6-м пойдёт и подавно. Так ты сможешь ошибки показать (мож в универе билдер в програм файлс поставил, тогда понятно откуда косяки - Билдер не обрабатывает пути с пробелами и просто своих хедеров думаю не видит подскажи преподу)
Тлеу
 Аватар для Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
19.10.2011, 14:55  [ТС]     Матрица произвольной размерности #23
нет она находится в самом диске C
-=ЮрА=-
Заблокирован
Автор FAQ
19.10.2011, 15:02     Матрица произвольной размерности #24
Цитата Сообщение от Тлеу Посмотреть сообщение
нет она находится в самом диске C
- нужны ошибки, не могу помочь не зная что пишет Билдер, я ж не просто так скрины вывешивал - всё работоспособно
Тлеу
 Аватар для Тлеу
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 250
19.10.2011, 15:18  [ТС]     Матрица произвольной размерности #25
ну все же попробуй на 6 пожалуйста!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2011, 17:21     Матрица произвольной размерности
Еще ссылки по теме:

C++ Массив произвольной размерности и работа с ним
Разработать класс Vector – геометрический вектор произвольной размерности C++
C++ Характеристический многочлен матрицы произвольной размерности

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.10.2011, 17:21     Матрица произвольной размерности #26
Жуткий быдлокод с потенциальной утечкой памяти и кучей других проблем, но худо-бедно скомпилировалось Borland Turbo C++ 3.0, мало того - отработало. Короче, на "УДачно" потянет
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
95
96
97
98
99
#include <iostream.h>
    
class Matrix {
    int ** ptr;
    int rows;
    int columns;
public:
    Matrix() : ptr(0), rows(0), columns(0) {}
    Matrix(int r, int c){
        int i;
        rows = r;
        columns = c;
        ptr = new int* [ rows ];
        for ( i = 0; i < rows; ++i )
            ptr[i] = new int [ columns ];
    }
    Matrix(const Matrix & m){
        *this = m;
    }
    int Rows() const {
        return rows;
    }
    int Columns() const {
        return columns;
    }
    int GetAt(int row, int column) const {
        if ( ptr != NULL && row < rows && column < columns ) 
            return ptr[row][column];
        else {
            cerr << "Wrong indexes for this matrix" << endl;
            return 0;
        }
    }
    void SetAt(int row, int column, int value){
        if ( ptr != NULL && row < rows && column < columns )
            ptr[row][column] = value;
        else
            cerr << "Wrong indexes for this matrix" << endl;
    }
    Matrix & operator = (const Matrix & m){
        if ( this != &m ){
            int i, j;
            
            rows = m.Rows();
            columns = m.Columns();
            ptr = new int* [ rows ];
            for ( i = 0; i < rows; ++i ){
                ptr[i] = new int [ columns ];
                for ( j = 0; j < columns; ++j )
                    ptr[i][j] = m.GetAt(i, j);
            }
        }
        return *this;
    }
    ~Matrix(){
        if ( ptr ){
            int i;
            for ( i = 0; i < rows; ++i )
                delete [] ptr[i];
            delete [] ptr;
            ptr = NULL;
            rows = 0;
            columns = 0;
        }
    }
};
 
int main(){
    int rows, columns, i, j;
    
    cout << "Rows: ";
    cin >> rows;
    cout << "Columns: ";
    cin >> columns;
    
    Matrix m1(rows, columns);
    
    for ( i = 0; i < m1.Rows(); ++i )
        for ( j = 0; j < m1.Columns(); ++j )
            m1.SetAt(i, j, (i + 1) * 10 + (j + 1));
    
    Matrix m2(m1);
    
    cout << "First matrix:" << endl;
    for ( i = 0; i < m1.Rows(); ++i ){
        for ( j = 0; j < m1.Columns(); ++j )
            cout << m1.GetAt(i, j) << " ";
        cout << endl;
    }
    
    cout << "Second matrix:" << endl;
    for ( i = 0; i < m2.Rows(); ++i ){
        for ( j = 0; j < m2.Columns(); ++j )
            cout << m2.GetAt(i, j) << " ";
        cout << endl;
    }
    
    return 0;
}
Матрица произвольной размерности
Yandex
Объявления
19.10.2011, 17:21     Матрица произвольной размерности
Ответ Создать тему
Опции темы

Текущее время: 11:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru