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

Класс Матриц ( исправьте Ошибки плз) - C++

Восстановить пароль Регистрация
 
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
01.12.2009, 13:44     Класс Матриц ( исправьте Ошибки плз) #1
У меня задание написать класс матриц с использованием перегруженых операторов

при компиляции находит с десяток ошибок

помогите исправить их пожалуйста




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
100
101
102
103
104
105
106
#include <iostream>
#include <iomanip>
#include <fstream>
#include <stdlib.h>
using namespace std;
 
class Matrix{
    friend ostream &operator << (ostream &,const Matrix &);
    friend istream &operator >> (istream &,Matrix &);
public:
    Matrix(int=0,int=0);
    Matrix operator + (Matrix &);
    Matrix operator * (Matrix &);
    Matrix operator * (int);
    Matrix operator ++(int);
private:
        int nCols;
    int nRows;
    int **array;
};
 
ostream &operator<<(ostream &output, const Matrix &matrix)
{
    for(int j=0;j<matrix.nCols;j++){
        for(int k=0;k<matrix.nRows;k++){
            output<<setw(5)<<matrix.array[j][k]<<setw(5);
        }
        output<<endl;
    }
    return output;
}
 
istreaam &operator>>(istream &input,Matrix &matrix)
{
    for(int j=0;j<matrix.nCols;j++){
        for(int k=0;k<matrix.nRows;k++){
            input>>matrix.array[j][k];
        }
    }
    return input;
}
 
Matrix Matrix::operator +(matrix &matrix){
    int i=Matrix.nCols;
    int j=Matrix.nRows;
    if((i!=nCols)||(j!=nRows)){
        cout<<"nesootvetstvie matric"<<endl;
        exit(1);
    }
    else{
        Matrix Sum(i,j);
        for(int a=0;a<i;a++)
            for(int b=0;b<j;b++)
                Sum.array[a][b]=array[a][b]+matrix.array[a][b];
        return Sum;
    }
}
 
Matrix Matrix::operator *(Matrix &matrix){
    int i=matrix.nCols;
    int j=matrix.nRows;
    if(nRows!=i){
        cout<<" nesootvetstvie matric"<<endl;
        exit(1);
    }
    else {
        Matrix Mul(nCols,j);
        for(int a=0;a<nCols;a++){
            for(int b=0;b<j;b++){
                Mul.array[a][b]=0;
                for(int c=0;c<i;c++){
                    Mul.array[a][b]=Mul.array[a][b]+((array[a][c])*(matrix.array[c][b]));
                }
            }
        }
        return Mul;
    }
}
 
Matrix Matrix::operator *(int scal){
    int i=nCols;
    int j=nRows;
    Matrix Mults(i,j);
    for(int a=0;a<i;a++)
        for(int b=0;b<j;b++)
            Mults.array[a][b]=(array[a][b])*scal;
    return Mults;
}
 
Matrix::Matrix(int str,int stolb){
    array=new int * [str];
    for(int i=0;i<str;i++)
        array[i]=new int[stolb];
    nCols=str;
    nRows=stolb;
}
 
Matrix Matrix::operator ++ (){
    int i=nCols;
    int j=nrows;
    Matrix Summ(i,j);
    for(int a=0;a<i;a++)
        for(int b=0;b<j;b++)
            Summ.array[a][b]=(array[a][b])+5;
    return Summ;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2009, 13:44     Класс Матриц ( исправьте Ошибки плз)
Посмотрите здесь:

Массивы(исправьте ошибки) C++
ПРОВЕРТЕ НА ОШИБКИ ПЛЗ! C++
C++ Исправьте ошибки в коде
C++ Исправьте мне ошибки!
C++ исправьте ошибки в коде
C++ исправьте ошибки в коде
исправьте ошибки в коде C++
C++ исправьте ошибки в игре
Исправьте ошибки C++
Исправьте ошибки в программе C++
Исправьте ошибки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
01.12.2009, 14:07     Класс Матриц ( исправьте Ошибки плз) #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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <iostream>
#include <iomanip>
#include <fstream>
#include <stdlib.h>
using namespace std;
 
class Matrix{
    friend ostream &operator << (ostream &,const Matrix &);
    friend istream &operator >> (istream &,Matrix &);
public:
    Matrix(int=0,int=0);
    Matrix operator + (Matrix &);
    Matrix operator * (Matrix &);
    Matrix operator * (int);
    Matrix operator ++();
private:
    int nCols;
    int nRows;
    int **array;
};
 
ostream &operator<<(ostream &output, const Matrix &matrix)
{
    for(int j=0;j<matrix.nCols;j++){
        for(int k=0;k<matrix.nRows;k++){
            output<<setw(5)<<matrix.array[j][k]<<setw(5);
        }
        output<<endl;
    }
    return output;
}
 
istream &operator>>(istream &input,Matrix &matrix)
{
    for(int j=0;j<matrix.nCols;j++){
        for(int k=0;k<matrix.nRows;k++){
            input>>matrix.array[j][k];
        }
    }
    return input;
}
 
Matrix Matrix::operator +(Matrix &matrix){
    int i = matrix.nCols;
    int j = matrix.nRows;
    if((i!=nCols)||(j!=nRows)){
        cout<<"nesootvetstvie matric"<<endl;
        exit(1);
    }
    else{
        Matrix Sum(i,j);
        for(int a=0;a<i;a++)
            for(int b=0;b<j;b++)
                Sum.array[a][b]=array[a][b]+matrix.array[a][b];
        return Sum;
    }
}
 
Matrix Matrix::operator *(Matrix &matrix){
    int i=matrix.nCols;
    int j=matrix.nRows;
    if(nRows!=i){
        cout<<" nesootvetstvie matric"<<endl;
        exit(1);
    }
    else {
        Matrix Mul(nCols,j);
        for(int a=0;a<nCols;a++){
            for(int b=0;b<j;b++){
                Mul.array[a][b]=0;
                for(int c=0;c<i;c++){
                    Mul.array[a][b]=Mul.array[a][b]+((array[a][c])*(matrix.array[c][b]));
                }
            }
        }
        return Mul;
    }
}
 
Matrix Matrix::operator *(int scal){
    int i=nCols;
    int j=nRows;
    Matrix Mults(i,j);
    for(int a=0;a<i;a++)
        for(int b=0;b<j;b++)
            Mults.array[a][b]=(array[a][b])*scal;
    return Mults;
}
 
Matrix::Matrix(int str,int stolb){
    array=new int * [str];
    for(int i=0;i<str;i++)
        array[i]=new int[stolb];
    nCols=str;
    nRows=stolb;
}
 
Matrix Matrix::operator ++ (){
    int i = this->nCols;
    int j = this->nRows;
    Matrix Summ(i,j);
    for(int a=0;a<i;a++)
        for(int b=0;b<j;b++)
            Summ.array[a][b]=(array[a][b])+5;
    return Summ;
}

В следующий раз пиши еще и сообщения ошибок, и следи за правильностью набора - все ошибки заключались именно в этом
Том Ардер
Модератор
 Аватар для Том Ардер
3644 / 2263 / 276
Регистрация: 15.06.2009
Сообщений: 3,975
01.12.2009, 14:12     Класс Матриц ( исправьте Ошибки плз) #3
Внимательно прочитать сообщения компилятора (английский знать надо хотя бы на этом уровне - it's a must), и поправить:

строка 16 - убрать, т.к. противоречит строкам 24, 25, 26
строка 33 - опечатка
в строках 43-45 разобраться с Matrix и matrix
строки 15 и 98 - устранить несоответствие описаний
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
01.12.2009, 14:25  [ТС]     Класс Матриц ( исправьте Ошибки плз) #4
M128K145

спасибо ошибок меньше стало но всё же есть:



1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>\\fpmi-servstud\kurs1\astrauh\class matric\Debug\class matric.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://\\fpmi-servstud\kurs1\astrauh\class matric\class matric\Debug\BuildLog.htm"
1>class matric - 2 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
01.12.2009, 14:49     Класс Матриц ( исправьте Ошибки плз) #5
Добавь
C++
1
2
3
4
int main()
{
    return 0;
}
у тебя же просто нету точки входа в программу, текст ошибки об этом так сразу и говорит
Yandex
Объявления
01.12.2009, 14:49     Класс Матриц ( исправьте Ошибки плз)
Ответ Создать тему
Опции темы

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