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

Создание матричной алгебры, что можно улучшить в коде? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Изменение окна... http://www.cyberforum.ru/cpp-beginners/thread278933.html
Вообщем мне надо чтобыпрограмма какимто образом меняла свое диалоговое окно например при нажатии на кнопку менялся размер окна или изчезали и появлялись какие либо элементы....
C++ Деструктор Доброго времени суток, есть некоторый класс и 2 функции подобны тем, что описаны ниже. В первой объявляется данный класс, обрабатывается и после передается во вторую функцию class myclass { struct str { int field1; float field2; bool field3; }; unsigned int k; http://www.cyberforum.ru/cpp-beginners/thread278932.html
C++ Вывод слов с тремя или более гласными
#include <cstdlib> #include <iostream> #include <string> using namespace std; int main(int argc, char *argv) { int s=0, g=0; string st;
сжать массив C++
помогите пожалуйста Сжать заданный массив b1, b2,...,bm отбрасыванием нулевых элементов!решить с и спользованием функций
C++ неэффективная, при помоши рекуррентного спуска. http://www.cyberforum.ru/cpp-beginners/thread278898.html
Здравствуйте! Помогите пожалуйста решить этим способом: • неэффективная, при помоши рекуррентного спуска. Входной текст состоит из слов с известными длинами (количеством символов) l1, l2,..., lп и представляет абзац. Его нужно "правильно отформатировать" и вывести в несколько строк длиной М символов (M≥max li). Форматирование заключается в следующем. Если в строке размещаются слова с i-го...
C++ класс с матрицами всем привет. очень нужна ваша помощь. прогу написал , но выдает 2 какие-то странные ошибки. посмотрите плиз , если вас не затруднит. ЗЫ : суть работы в том , чтобы написать класс , который обеспечивает работу с матрицами 2х2 , перегрузив основные операторы . Заранее большое спасибо ! #include <iostream.h> #include <conio.h> #include <math.h> const int l=2; const int s=2; подробнее

Показать сообщение отдельно
marphey
0 / 0 / 0
Регистрация: 18.04.2011
Сообщений: 11
21.04.2011, 12:00  [ТС]     Создание матричной алгебры, что можно улучшить в коде?
Спасибо всем, кто откликнулся, сам разобрался
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
// унарный плюс
Array Array::operator+() const {
    Array T(*this);
  for (int i = 0; i < VSize; i++)
    for (int j=0; j < HSize; j++)
      T.p[i][j] = +p[i][j];
  return T;
}
 
// равно
bool Array::operator==(const Array& Data) const {
  for (int i = 0; i < VSize; i++)
    for (int j=0; j < HSize; j++)
      if (Data.p[i][j] != p[i][j])
    return false;
  return true;
}
 
// не равно
bool Array::operator!=(const Array& Data) const {
  for (int i = 0; i < VSize; i++)
    for (int j=0; j < HSize; j++)
      if (Data.p[i][j] != p[i][j])
    return true;
  return false;
}
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
class Array {
  int **p;
  unsigned char HSize, VSize;
public:
  unsigned char GetHSize() const;
  unsigned char GetVSize() const;
  Array(unsigned char, unsigned char);
  Array(const Array&);
  int* operator[](unsigned char) const;
  Array& operator=(const Array&);
  Array& operator=(int*);
  Array& operator+=(const Array&);
  Array operator+(Array) const;
  Array operator-() const;
  Array operator+() const;
  Array operator-(Array) const;
  Array operator*(const Array&) const;
  Array operator*(int) const;
  bool operator==(const Array&) const;
  bool operator!=(const Array&) const;
  friend Array operator*(int, Array);
  ~Array();
};
 
unsigned char Array::GetHSize() const {
  return HSize;
}
 
unsigned char Array::GetVSize() const {
  return VSize;
}
3. переопределить [][] для обращения напрямую к элементу матрицы:

с этим я не разобрался, так что если кто-то все еще читает эту тему, помогите с решением проблемы
пысы: как вариант возможно переопределение ()()

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