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

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

04.12.2014, 14:58. Показов 2411. Ответов 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
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки. Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён". Изменено отображение буквы Й. Добавлена. . .
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru