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

Работа с классами - C++

Восстановить пароль Регистрация
 
Kroha_Jah
2 / 2 / 0
Регистрация: 30.06.2009
Сообщений: 17
12.02.2010, 15:18     Работа с классами #1
Задача:найти сумму всех отрицательных элементов матрицы и записать в вектор.
C++
1
2
3
4
5
6
For (i=0;i<=N;i++)
for (j=0;j<=M;j++)
if (a[i][j]<0)
   {t=t+a[i][j]// находим сумму
 for(k=0;k<Z;k++)
  {X[k]=t}//вектор
Так вроде?!А как сделать чтоб через классы было??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2010, 15:18     Работа с классами
Посмотрите здесь:

C++ Работа с классами
Работа с классами C++
C++ Работа с классами.
C++ Работа с классами
Работа С Классами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
12.02.2010, 19:27     Работа с классами #2
Первое что надо сделать так это подумать...
лендер
46 / 46 / 2
Регистрация: 12.01.2010
Сообщений: 183
12.02.2010, 20:35     Работа с классами #3
что и для чего ето?
C++
1
2
 for(k=0;k<Z;k++)
  {X[k]=t}//вектор
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
12.02.2010, 20:58     Работа с классами #4
как накопать червей на рыбалку. только надо экскаватором.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class CInt {
   prublic:
      int m_i;
};
 
...
 
CInt i;
CInt j;
CInt k;
 
For (i.m_i=0;i.m_i<=N;i.m_i++)
for (j.m_i=0;j.m_i<=M;j.m_i++)
if (a[i.m_i][j.m_i]<0)
   {t=t+a[i.m_i][j.m_i]// находим сумму
 for(k.m_i=0;k.m_i<Z;k.m_i++)
  {X[k.m_i]=t}//вектор
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
12.02.2010, 21:00     Работа с классами #5
novi4ok:
просто и со вкусом.
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
16.02.2010, 11:04     Работа с классами #6
2 пользователя(ей) сказали cпасибо:
Genius Ignat (12.02.2010), Kroha_Jah (Вчера)
---------------------------
Genius Ignat юмор понял, а Kroha_Jah, ты что - серьезно? это прикол был с моей стороны, экскаватором червей не копают, и классов, которые ничего не умеют делать, не плодят

Добавлено через 31 минуту
хотя бы так тогда:

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
#include <vector>
 
#define INVALID_ELEM_VALUE 0x7fffffff
 
class CMatrix {
   CMatrix (int nCols, int nRows);
   void setAt (int iCol, int iRow, int value);
   int getAt (int iCol, int iRow);
   std::vector <int> getAll ();
   
   ~CMatrix ();// освободить память
 
   int *m_pMatrix;
   int m_nCols;
   int m_nRows;
}
 
CMatrix::CMatrix (int nCols, int nRows) 
: m_nCols (nCols)
, m_nRows (nRows)
{
  m_pMatrix = (int*) malloc (sizeof (int) * nCols * nRows);
}
 
~CMatrix::CMatrix () {
  free (m_pMatrix);
  m_pMatrix = NULL;
}
... // имплементировать остальное
void CMatrix::setAt (int iCol, int iRow, int value){
...
}
 
int CMatrix::getAt (int iCol, int iRow){
// она нам вообще не нужна, но для полноты
...
}
 
std::vector <int> CMatrix::getAll (){
...
}
 
 
class CUtility {
   static std::vector<int> negativ (const std::vector<int> v);
   static std::vector<int> positive (const std::vector<int> v);
   static int sum (const std::vector<int>);
}
 
... // имплементировать утилиту
std::vector<int> CUtilitynegativ (const std::vector<int> v){
...
}
 
std::vector<int> CUtilitypositive (const std::vector<int> v){
...
}
 
int CUtilitysum (const std::vector<int>){
...
}
 
...
 
// создадим и заполним матрицу:
 
CMatrix matrix (2, 3);
matrix.setAt (0,0, -1);
matrix.setAt (1,1, 5);
matrix.setAt (0,2, -10);
matrix.setAt (1,0, -3);
matrix.setAt (0,1, 3);
matrix.setAt (1,2, -7);
 
//ну и - на белом коне:
 
std::vector<int> negatives = CFilterUtility::negativ (matrix.getAll());
 
int sum_negatives = CFilterUtility::sum (negatives);
я так понял, что не сумму нужно записать в вектор, а все отрицательные числа.
в общем, еще минут 10 работы на функции и можно учителю показывать.
Yandex
Объявления
16.02.2010, 11:04     Работа с классами
Ответ Создать тему
Опции темы

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