Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
 Аватар для Fanera
12 / 11 / 6
Регистрация: 05.10.2013
Сообщений: 219

Написать класс для сложения массива

04.12.2014, 14:58. Показов 2293. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать класс для сложения массива
массив сатический, задан в main.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.12.2014, 14:58
Ответы с готовыми решениями:

Написать класс для сложения матриц
Надо написать класс который будет складывать матрицы. Не могу грамотно закончить программу. Не знаю как передать результат в главную...

Написать свой класс, реализующий матричную арифметику, операции сложения и умножения матриц. Сложения матрицы с числом и
Написать свой класс, реализующий матричную арифметику, операции сложения и умножения матриц. Сложения матрицы с числом и умножения матрицы...

Написать элегантнее класс для сложения больших чисел
Уважаемые тру программисты. Я написал класс для сложения больших чисел. Но вот смотрю на код и понимаю, что написано коряво. Смысл функции...

29
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
04.12.2014, 18:00
Студворк — интернет-сервис помощи студентам
Croessmah, ну да. Тогда конструктор.
0
 Аватар для Fanera
12 / 11 / 6
Регистрация: 05.10.2013
Сообщений: 219
04.12.2014, 18:01  [ТС]
Тамика, Согласен. исправил считает правильно. Теперь осталось в приват результат резместить и хитро к нему обратиться
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
04.12.2014, 18:02
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class TSumma
{
int sum;
public:
TSumma : sum(0) { }
void SetSum(int* in)
 {
      for (int i=0; i<10; ++i)
      {
          sum += in[i];
      }
  }
 int GetSum(void)
  {
      return sum;
  }
};
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
04.12.2014, 18:03
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
#include <iostream>
 
 
class Sum
{
public:
    int operator () ( int * arr , size_t size ) const
    {
        if ( arr == 0 )
            return 0 ;
        size_t result = 0 ;
        for ( size_t i = 0 ; i < size ; ++i )
        {
            result += arr[i] ;
        }
        return result ;
    }
} ;
 
 
int main() 
{
    int ar[10]={2,2,2,2,2,2,2,2,2,2};
    std::cout << Sum()(ar,sizeof(ar)/sizeof(*ar) ) << std::endl ;
}
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
04.12.2014, 18:03
Цитата Сообщение от Fanera Посмотреть сообщение
осталось в приват результат резместить
Цитата Сообщение от Fanera Посмотреть сообщение
private: int sum;
Он уже.
0
31 / 40 / 6
Регистрация: 04.10.2014
Сообщений: 185
04.12.2014, 18:07
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
4
5
// декларация минимального массива на 2 числа
    int arr[1];//<--на два числа говоришь?
    // инициализация
    arr[0]=22;
    arr[1]=33;//<-- выход за пределы, настоящий кодер
Согласный)) - не так давно на C++ с пхп перешел )).
Поэтому использую vector место обычных массивов и гораздо удобнее )).
0
 Аватар для Fanera
12 / 11 / 6
Регистрация: 05.10.2013
Сообщений: 219
04.12.2014, 18:10  [ТС]
Croessmah, Ну тут как все как будто функция.
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
#include <iostream>
using namespace std;
 
class TSumma
{
public:
  TSumma();
void SetSum(int* in)
 {
      sum=0;
      for (int i=0; i<10; ++i)
      {
          sum += in[i];
      }
  }
 int GetSum(void)
  {
      return sum;
  }
 ~TSumma();
private:
  int sum;
};
 
int main()
{
    int ar[10]={2,2,2,2,2,2,2,2,2,2};
    TSumma s1;
        s1.SetSum(ar);
        cout << "Summ = " << s1.GetSum() << endl;
    return 0;
}
Тут все верно, Я правильно понимаю что
C++
1
2
private:
  int sum;
смысл в том что я не смогу эту переменную изменить
0
31 / 40 / 6
Регистрация: 04.10.2014
Сообщений: 185
04.12.2014, 18:29
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
#include <iostream>
using namespace std;
 
void main()
{
    // декларация минимального массива на 1 число
    int arr[1];
    // инициализация
    arr[0]=22;
 
    // декларация с инициализацией массива на 2 числа
    int aR[2] = {44,55};
 
    // вычисляем размеры массивов
    const int arrSize = sizeof(arr)/sizeof(arr[0]);
    const int aRSize = sizeof(aR)/sizeof(aR[0]);
 
    // декларируем новый массив равный размеру 1го + 2го
    int aRraySum[arrSize + aRSize];
 
    int x=0;
    for( ; x < arrSize; x++)
    {
        aRraySum[x] = arr[x];
    }
    x--;
 
    for(int z=0; z < aRSize; z++)
    {
        aRraySum[++x] = aR[z];
    }
 
    // проверка значений массива
    // 22 / 44 / 55
    cout << aRraySum[0] << endl;
    cout << aRraySum[1] << endl;
    cout << aRraySum[2] << endl;
 
    // давайте жить дружно и применять vector место обычных массивов )))
}
Добавлено через 8 минут
Ой блин только сейчас увидел - ты делаешь простое сложение всех элементов массива, а НЕ создание 1го из 2ух массивов.
Извини не так понял )).

Добавлено через 2 минуты
Ты можешь изменить приватное поле, если обращаться через метод этого класса.

Добавлено через 2 минуты
Еще смотрю ты пишешь в методе константно 10ку, а можно извлекать прямо там же размер массива и гораздо удобнее будет

Добавлено через 1 минуту
Изменяешь ты через публичные методы в этом же классе.
В данном случае SetSum()
0
 Аватар для Fanera
12 / 11 / 6
Регистрация: 05.10.2013
Сообщений: 219
04.12.2014, 18:35  [ТС]
Redee,
C++
1
2
3
4
 int GetSum(void)
  {
      return sum;
  }
Это мне мозвращают суммму,

C++
1
2
private:
  int sum;
Это меня не дает изменить это число

Все всерно я понял?
0
31 / 40 / 6
Регистрация: 04.10.2014
Сообщений: 185
04.12.2014, 19:39
Если ты захочешь, допустим это >
C++
1
2
TSumma objS;
objS.sum = 22;
То получишь ошибку.
Все действия которые хочешь выполнять с приватными св-ми класса - делаешь через метод в этом же классе.
То есть обращаешься допустим к публичному методу который делает все необходимое с приватным полем класса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2014, 19:39

Добавьте возможность сложения (сложения через оператор сложения) для дроби с целым числом. (не только с дробью)
Есть код, не могу написать как складывать дробь с целым числом, а не только с дробью. + Создайте дочерний класс OperationsOnFraction и...

Класс для выполнения операций сложения, вычитания и умножения комплексных чисел
Условие: Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания и умножения...

Написать класс для динамического массива с проверкой границ (что подразумевают под инициализацией?)
Привет, народ, есть такое задание: 2. написать класс для динамического массива с проверкой границ( аналог std::vector ) +должны...

Ввести класс для работы с прямоугольной матрицей, реализовать операции сложения и умножения матриц
Кто-нибудь подскажите, пожалуйста написать программу в С++. Ввести класс для работы с прямоугольной матрицей. Реализовать операции: ...

Написать функцию для сложения двух чисел
... без использования &quot;+&quot; и других арифметических операций. P.S. Кто знает, пожалуйста, не пишите ответ сразу, пусть другие тоже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru