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

Класс матриц - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести в произвольный файл таблицу значений функции sin(x), cos(x), tg(x), ctg(x) http://www.cyberforum.ru/cpp-beginners/thread35890.html
Вывести в произвольный файл таблицу значений функции sin(x), cos(x), tg(x), ctg(x) на отрезке с шагом 0,1. Значения x печатать с одной цифрой в мантиссе, sin – с тремя, ctg – в экспоненциальной форме, а все остальные с тремя знаками.
C++ Удаление элемента (узла) в бинарном дереве По заданию необходимо в бинарном дереве удалять все элементы равные искомому(как все удалять, я почему-то не осознал). На данный момент я делаю удаление 1 элемента, но видимо допустил ошибки, никак не пойму какие, и не происходит ничего. Подскажите пожалуйста, как сделать удаление всех элементов равных искомому, и в чем моя ошибка в ф-ции удаления 1 элемента. Вот собственно мой код #include... http://www.cyberforum.ru/cpp-beginners/thread35880.html
поменять элементы каждого числа массива слева направо C++
поменять элементы каждого числа массива слева направо пытаюсь собрать проект в KDevelop - itoa и reverse напрочь не узнаёт какие ещё дерективы надо подключить или может ошибоньки в записи если у кого есть KDevelop можете попробовать собрать проект- а то у меня сейчас его нет я на измене - помогите кто чем может //main.cpp #include <iostream> #include <vector> #include <stdlib.h>
C++ Генератор случайных чисел
В общем, нужно составить программу, которая реализует алгоритм генерации случайных чисел. Естественно не используя random. Перерыла массу алгоритмов и программок, но так ничего "нужного" для себя не нашла. Товарищи-программисты, помогите чем можете!)))
C++ Реализация Теоремы Штурма http://www.cyberforum.ru/cpp-beginners/thread35853.html
Необходимо написать программу для нахождения количества действительных корней многочлена n-й степени (теорема Штурма) Добавлено через 46 минут 47 секунд помоги пожалуйста или подскажите идею реализации...
C++ Передать динамический массив в функцию Имеется динамический массив, который надо передать в функцию. Число элементов массива заранее не известно. Какие есть варианты на этот счет?? подробнее

Показать сообщение отдельно
Qatralesa
Сообщений: n/a
23.05.2009, 16:55     Класс матриц
Нужно описать класс матриц, реализовать функции сложения, умножения, вычитания, сравнения матриц и проверки на диагональность (проект 3-х файловый). Помогите, пожалуйста, с сравнением и проверкой на диагональность.
вот код:

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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
///matrix.h///
class Matrix {
    int m;
    int n;
    int* mat;
 
public:
    Matrix ();
    Matrix (int , int);//Конструктор с параметрами
    ~Matrix();//Деструктор
    void Show();// Метод вывода на экран
    void Input(char*);//Метод ввода
    int& get(int i, int j) {
        return mat[i*m+j];
    }
    int rows(){
        return n;
    }
    int cols(){
        return m;
    }
        };
void sum(Matrix&a, Matrix&b, Matrix&c);
void mult(Matrix&a, Matrix&b, Matrix&c);
bool comp(Matrix&a, Matrix&b);
void sub(Matrix&a, Matrix&b, Matrix&c);
void multch(Matrix&a, Matrix&c);
////matrix.cpp///
Matrix::Matrix(){}
 
Matrix::Matrix(int a, int b)
{ 
    
    n=a;
    m=b;
    mat= new int [n*m];
 
    }
Matrix::~Matrix()
{
    delete [] mat;
}
void Matrix::Input(char* fname)
{   
    ifstream fin(fname, ios::in | ios::nocreate);
    if(!fin) {
        cout<< Rus("Файл не найден")<<endl;
    }
     fin>>n>>m;
    mat= new int [n*m];
 
   for  (int i=0; i<n*m; i++)
   
        fin>> mat[i];
 
}
 
void Matrix::Show()
{
    cout<<Rus("Результат операции:")<<endl;
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
            cout<<get(i,j)<<' ';
        cout<<endl;}
}
 
 
void sum(Matrix&a, Matrix&b, Matrix&c)
{ 
    int n=a.rows();
    int m=a.cols();
    
    for (int i=0; i<n; i++)
        for (int j=0; j<m; j++)
                    c.get(i,j)=a.get(i,j)+b.get(i,j);
        
    }
void mult(Matrix&a, Matrix&b, Matrix&c)
{
    int n=a.rows();
    int m=a.cols();
 
    for (int i=0; i<n; i++)
        for (int j=0; j<m; j++)
        {
        c.get(i,j)=0;
            for (int k=0; k<n; k++)
        
                c.get(i,j)+=a.get(i,k)*b.get(k,j);
        }
}
bool comp(Matrix&a, Matrix&b)
{
  int n=a.rows();
  int m=a.cols();
  int j;
 for (int i=0; i<n; i++)
  for (int j=0; j<m; j++)
    if(a.get(i,j)==b.get(i,j))
   {
      cout<<Rus("Матрицы равны")<<endl;
       return true;
   }
    else
  {
     cout<<Rus("Матрицы не равны")<<endl;   
     return false;
  }
    
}
 
////main.cpp///
int main
{
Matrix x;
x.Input("input.txt");
Matrix y;
y.Input ("xas.txt");
Matrix z(3, 3);
sum(x, y, z);
z.Show();
mult(x, y, z);
z.Show();
sub(x, y, z);
z.Show();
comp(x, y);
}

Заранее огромное спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru