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

Классы С++ (как описать методы и свойства к массиву) - C++

Восстановить пароль Регистрация
 
DEMIGOD124
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 9
26.11.2013, 11:28     Классы С++ (как описать методы и свойства к массиву) #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
#include <iostream>
#include <cstdlib>
#include <iostream>
#include <stdlib.h> 
#include <time.h>   
 
using namespace std;
 
class Massiv
{
public:
    float**FloatArray;
    int n,m;
    void vvod();
    void show ();
};
 
void Massiv::vvod()
{
int i,j;
cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
srand (time(NULL));
FloatArray = new float*[n];
for (i=0;i<n;i++)
    {
    FloatArray[i]=new float[m];
    for(j=0;j<m;j++)
        {
        FloatArray[i][j]=rand()%10 ;
        }
cout<<endl;
    }
} 
 
void Massiv::show ()
{
int i,j;
for (i=0;i<n;i++)
    {
    for(j=0;j<m;j++)
        cout<<FloatArray[i][j]<<" ";
 
    cout<<endl;
    }
    
}
int main()
{
Massiv mas;
mas.vvod();
mas.show();
system("PAUSE");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
26.11.2013, 12:21     Классы С++ (как описать методы и свойства к массиву) #2
какое либо пояснение
Чтобы не терять ни ваше время, ни время пояснящих, конкретизируйте то, что вам не понятно.
DEMIGOD124
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 9
26.11.2013, 12:28  [ТС]     Классы С++ (как описать методы и свойства к массиву) #3
Цитата Сообщение от programina Посмотреть сообщение
Чтобы не терять ни ваше время, ни время пояснящих, конкретизируйте то, что вам не понятно.
где и как описать свойство возврата общего количества нечётных ...
это должно быть в ретёрн в вызове класса масива наверное, но какая конструкция использования...?!...
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
26.11.2013, 12:47     Классы С++ (как описать методы и свойства к массиву) #4
DEMIGOD124,
если число делится на 2 без остатка, то оно четное, иначе нечетное.
C++
int a = 4;
int b = 5;
 
if( a%2 == 0 ) cout << "число a четное" << endl;
else cout << "число a не четное" << endl;
 
if( b%2 == 0 ) cout << "число b четное" << endl;
else cout << "число b не четное" << endl;
Добавлено через 5 минут
а само свойство запишите в private отсеке, чтобы к нему нельзя было обратиться без проверки в методе, который считает нечетные числа.
GenFd
0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 5
26.11.2013, 13:46     Классы С++ (как описать методы и свойства к массиву) #5
Скорее всего Вы перепутали методы и свойства. Свойства это переменные класса, а методы - его функции.
К описанию Вашего класса нужно добавить следующий код:
C++
1
2
3
4
5
6
7
//свойства
float   summ;  //сумма
float   mean;  //среднее арифметическое
 
//методы
int   CountNegOdd(void);         //выдает количество отрицательных нечетных
void SubScalar(float scalar);    //вычитает скаляр
К определению методов добавить следующий код:
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
int Massiv::CountNegOdd(void)
{
    int i, j, count;
    count = 0;
    for (i=0; i<n; i++)
    {
        for(j=0;j<m;j++)
        {
            if((0 > FloatArray[i][j]) && (FloatArray[i][j]%2))
            {
                 count++
            }
        }
    }
    return count;
}
int Massiv::SubScalar(void)
{
    int i, j;
    for (i=0; i<n; i++)
    {
        for(j=0;j<m;j++)
        {
            FloatArray[i][j] -= scalar;
        }
    }
}
Для вычисления и вывода суммы и среднего арифметического нужны свои методы, о которых в задании ничего не говорится.

Добавлено через 13 минут
По поводу privat отсека. Туда желательно вынести все свойства (переменные), а методы (функции) сделать public.
DEMIGOD124
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 9
26.11.2013, 20:47  [ТС]     Классы С++ (как описать методы и свойства к массиву) #6
Спасибо. буду пробовать
Yandex
Объявления
26.11.2013, 20:47     Классы С++ (как описать методы и свойства к массиву)
Ответ Создать тему
Опции темы

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