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

Создать программу(проект) на с++, которая выполняет операции над матрицей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Для введённой пользователем с клавиатуры строки программа должна определить, корректно ли расставлены скобки (круглые, фигурные, квадратные). «Перемеш http://www.cyberforum.ru/cpp-beginners/thread585892.html
Для введённой пользователем с клавиатуры строки программа должна определить, корректно ли расставлены скобки (круглые, фигурные, квадратные). «Перемешивание» скобок (пример: «{») считается некорректным вариантом.
C++ Создать статические методы, сортирующие по возрастанию числовой массив, переданный через аргумент, алгоритмом выбора и пузырьковым алгоритмом. В реали Создать статические методы, сортирующие по возрастанию числовой массив, переданный через аргумент, алгоритмом выбора и пузырьковым алгоритмом. В реализации сортировки пузырьковым алгоритмом использовать критерий Айверсона, останавливающий внешний цикл, если на каком-то его шаге массив уже оказался отсортированным. http://www.cyberforum.ru/cpp-beginners/thread585891.html
C++ Создать статические методы, вычисляющие факториал натурального числа, как рекурсивным, так и итерационным способами. Сравнить быстродействие этих мето
Создать статические методы, вычисляющие факториал натурального числа, как рекурсивным, так и итерационным способами. Сравнить быстродействие этих методов, подсчитав, сколько умножений выполняется в первом и во втором случаях при вычислении факториалов 6, 7 и 8.
C++ Создать программу, которая будет последовательно предлагать пользователю десять случайных примеров, проверяющих знание таблицы умножения (каждый из со
Создать программу, которая будет последовательно предлагать пользователю десять случайных примеров, проверяющих знание таблицы умножения (каждый из сомножителей от 2 до 9 включительно), запрашивать ввод ответа с клавиатуры и проверять, какие примеры из предложенных решены правильно. Каждый пример выводится в формате: «5*8=». Пользователь вводит ответ с клавиатуры, после чего выводится следующий...
C++ Создать программу-калькулятор, считывающую с консоли два операнда и знак арифметического оператора между ними и выводящую на экран вычисленный результ http://www.cyberforum.ru/cpp-beginners/thread585886.html
Создать программу-калькулятор, считывающую с консоли два операнда и знак арифметического оператора между ними и выводящую на экран вычисленный результат выражения. Реализовать работу со следующими операциями: сложение, умножение, вычитание, деление и возведение в натуральную степень (символ «^»). Пример ввода: 2.3+5 Соответствующий вывод: 7.3 Пример ввода: 3^3 Соответствующий вывод: 27...
C++ Пользователь вводит с клавиатуры: начальную сумму, внесённую на депозит (вещественное положительное число), годовой процент (вещественное положительно Пользователь вводит с клавиатуры: начальную сумму, внесённую на депозит (вещественное положительное число), годовой процент (вещественное положительное число), срок депозита в годах (натуральное число). Проверяется корректность ввода данных. Программа должна вычислить по схеме сложных процентов и вывести на экран сумму, возвращаемую после окончания срока депозита. подробнее

Показать сообщение отдельно
DoktorRaim
1 / 1 / 0
Регистрация: 24.05.2012
Сообщений: 15
24.05.2012, 23:26     Создать программу(проект) на с++, которая выполняет операции над матрицей
Нужно создать программу(проект) на с++, которая выполняет операции над матрицей. Создать файлы Matrix.cpp, Matrix.h, main.cpp, test.cpp, test.h

Начал писать программу, но не хватает времени, кто чем поможет, пишите)) нужно к завтрашнему утру 9 - 00

main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <cstdlib>
#include <iostream>
#include "CMatrix.h"
 
using namespace std;
 
int main(int argc, char *argv[])
{
       
    CMatrix a, b(3,3), c(3,2);
    system("PAUSE");
    return EXIT_SUCCESS;
}
CMatrix.h
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
#ifndef CMTRX_H
#define CMTRX_H
#include <iostream>
#include <cstdlib>
 
using namespace std; 
 
typedef float float_t;
typedef int sz_t;
 
class CMatrix
{
  public:
 
         CMatrix()
         :m_pElems(0), m_rows(0), m_cols(0)
         {}
         
//         CMatrix(sz_t r,sz_t c, float_t el);
         CMatrix(sz_t r,sz_t c, float_t el=0)
         :m_pElems(new float_t [r*c]), m_rows(r), m_cols(c)
         {init(el);}
         
//         CMatrix(const CMatrix &m);
         CMatrix(const CMatrix &m)
         :m_pElems(new float_t [m.m_cols*m.m_rows]),m_cols(m.m_cols),m_rows(m.m_rows)
         {copy(m);}
         
         /*ГґГіГ*êöèÿ, âîçâðГ*Г№Г*ГѕГ№Г*Гї ýëåìåГ*ГІ Г¬Г*òðèöû ГЇГ® Г*äðåñó (r,c)*/
         float_t operator () (sz_t r, sz_t c)const;
                 
         //float_t &operator() (sz_t r, sz_t c);
         
         CMatrix &operator = (const CMatrix &m);
         
         void resize(sz_t r, sz_t c, float_t el=0.0); 
         
        /* void init(float_t el);      //                        
         void copy(const CMatrix &m);      */
         
         /*äåñòðóêòîð*/
         ~CMatrix()
         {
          delete []m_pElems;
         }
         
  private:
          float_t *m_pElems;          //ГіГЄГ*Г§Г*òåëü Г*Г* ýëåìåГ*ГІГ» Г¬Г*òðèöû
          sz_t m_rows, m_cols;        //
          void init(float_t el);      //                        
          void copy(const CMatrix &m);
};
 
#endif
CMatrix.cpp
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 "CMatrix.h"
#include <iostream>
#include <cstdlib>
 
 
using namespace std;
 
 
 
///////////////////////////////////////////////////////////////////////////////
/*CMatrix::CMatrix()
//:m_pElems(NULL), m_rows(0), m_cols(0)
{
 m_pElems=NULL;
 m_rows=0;
 m_cols=0;
}*/
////////////////////////////////////////////////////////////////////////////////
/*CMatrix::CMatrix(sz_t r,sz_t c, float_t el)
:m_pElems(new float_t [r*c]), m_rows(r), m_cols(c)
{
 m_pElems=new float_t[r*c];
 m_rows=r;
 m_cols=c;
 init(el);
}*/
////////////////////////////////////////////////////////////////////////////////
/*CMatrix::CMatrix(const CMatrix &m)
m_pElems(new float_t [m.m_cols*m.m_rows]),m_cols(m.m_cols),m_rows(m,m_rows)
{
 m_pElems=new float_t [m.m_cols*m.m_rows];
 m_cols=m.m_cols;
 m_rows=m.m_rows;
 copy(m);
}*/
///////*/////////////////////////////////////////////////////////////////////////
/*ГґГіГ*êöèÿ, âîçâðГ*Г№Г*ГѕГ№Г*Гї ýëåìåГ*ГІ Г¬Г*òðèöû ГЇГ® Г*äðåñó (r,c)*/
 
float_t CMatrix::operator () (sz_t r, sz_t c)const
{
 if (r>=m_rows||c>=m_cols)
 {
  std::cerr<<"Out of Bounds!";
  exit(1);
 }
 return m_pElems[r*m_cols+c];
}
////////////////////////////////////////////////////////////////////////////////         
/*float_t &CMatrix::operator() (sz_t r, sz_t c)
{
 if (r>=m_rows||c>=m_cols)
 {
  std::cerr<<"Out of Bounds!";
  exit(1);
 }
 return m_pElems[r*m_cols+c];
}*/
////////////////////////////////////////////////////////////////////////////////
void CMatrix::init(float_t el)
{      //b-begin, e-end
 for (float_t *b=m_pElems,*e=b+m_rows*m_cols;b!=e;++b)
 {
  *b=el;
 }
}
////////////////////////////////////////////////////////////////////////////////
void CMatrix::copy(const CMatrix &m)
{
 for(sz_t i=0;i<m_cols*m_rows;++i)
 {
  m_pElems[i]=m.m_pElems[i];
 }
}
////////////////////////////////////////////////////////////////////////////////
CMatrix &CMatrix::operator = (const CMatrix &m)
{
 if (m_pElems!=NULL)
    delete[]m_pElems;
 m_rows=m.m_rows;
 m_cols=m.m_cols;
 m_pElems=new float_t[m_cols*m_rows];
 copy(m);
 return *this;
}
////////////////////////////////////////////////////////////////////////////////
void CMatrix::resize(sz_t r, sz_t c, float_t el)
{
 m_rows=r;
 m_cols=c;
 m_pElems=new float_t[m_cols*m_rows];
 init(el);
}



Так же нужно сделать подгрузку элементов матрицы из файла, ну и вывод тоже в файл 0_0


Добавлено через 21 минуту
Товарищи, мне правда очень нужна ваша помощь.

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