Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Использование классов Не хочет запускаться, помогите найти ошибку #include <iostream> #define N 5 using namespace std; class electronic_store { char item; int price; int number; int section; https://www.cyberforum.ru/ cpp-beginners/ thread999884.html C++ Нужны советы как реализовать сложение, вычитание, умножение полиномов/многочленов и деление на число
Всем здравствуйте! надеюсь написать с вашей помощью программку для сложения, вычитания и умножения полиномов, а также деления на число. необходимо использовать классы. тут я задумалась, порылась на форумах, но реализация подобных программ просто вводила меня в ужас. неужели так сложно? во-первых, я хочу разобраться с cpp файлом, где реализованы конструктор и деструктор. читала, что нужно...
C++ Нужно написать рекурсивную функцию https://www.cyberforum.ru/ cpp-beginners/ thread999881.html
Добрый вечер ! Ребят, появилась надобность в написании рекурсивной функции, но я на самом деле не представляю как это сделать. Помогите разобраться и решить. Задание:
C++ Массив структур С помощью массива структур описать каталог компьютерных игр, предусмотрев следующие характеристики: название, производитель, год издания, жанр, объем на диске, платформа. Предусмотреть операцию поиска по жанру, платформе. Я набросал код...но у мене пропускает цикл if. И поиск не выполняется. #include <conio.h> #include <math.h> #include <iostream> #include <stdio.h> https://www.cyberforum.ru/ cpp-beginners/ thread999876.html
Ассемблерная вставка C++
Нужно заменить в русской строке похожие буквы латиницей. Ввод и вывод - на С++, всё остальное - на Ассемблере Помогите пожалуйста
C++ Вычисление конечного значения https://www.cyberforum.ru/ cpp-beginners/ thread999871.html
Здравствуйте. Прошу у вас помощи с программой: // 515.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" int _tmain(int argc, _TCHAR* argv) {
C++ В одновременном массиве состоящем из N вещественных элементов вычислить сумму отрицательных элементов В одновременном массиве состоящем из N вещественных элементов вычислить сумму отрицательных элементов https://www.cyberforum.ru/ cpp-beginners/ thread999862.html C++ Массивы. Вывести на экран только элементы, которые кратны 4
Создать массив из 30 четных чисел 2, 4, 6, ... Вывести массив на экран в одну строку с помощью printf. Вывести на экран только элементы, которые кратны 4.
C++ Удаление элементов из массива символов https://www.cyberforum.ru/ cpp-beginners/ thread999849.html
Написать массив из символов. Удалить количество элементов, начиная с заданой позиции.
C++ Ошибка в программе Написать программу решения квадратного уравнения a∙x2+b∙x+c = 0. Дискриминант вычисляется по формуле d = b2 – 4∙a∙c. Если дискриминант больше или равен нулю, то корни можно вычислить по формулам x1 = (-b+√d)/(2∙a) и x2 = (-b–√d)/(2∙a), иначе – нет решения. Код: #include <stdio.h> #include <conio.h> #include <math.h> void main() { https://www.cyberforum.ru/ cpp-beginners/ thread999848.html
C++ Многозадачность
Написать систему из потоков, совместно вычисляющих гипотенузу по 2 катетам. При этом использовать способ синхронизации - семафоры, способ передачи данных между потоками - почтовые ячейки. Система должна состоять из: 1. главного процесса или потока, принимающего исходные данные и выводящего результат на экран 2. нескольких служебных потоков, способных по отдельности выполнять элементарные...
C++ Нужна формула В общем есть небольшой вопрос: нахождение порядкового номера даты в заданном году (операция /). Порядковый номер (если я правильно понимаю) находится с помощью операции +, например: 12.02.1993 -- дата Порядковый номер: 31+12=43 А какой формулой найти через операцию '/' ? https://www.cyberforum.ru/ cpp-beginners/ thread999824.html
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
06.11.2013, 22:07  [ТС] 0

Перегрузка "оператора +" для сложения массива объектов - C++ - Ответ 5295826

06.11.2013, 22:07. Показов 2780. Ответов 10
Метки (Все метки)

Ответ

хм...вроде прокатывает, но всёравно что-то не работает...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef TEST_H
#define TEST_H
class Test
{
    public:
        Test();
        Test(int,int);
        Test operator+(const Test &);
        void set();
        void print();
        ~Test();
    private:
    int sizeY,sizeX;
    int *a;
    int **b;
};
#endif // TEST_H

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
#include <iostream>
#include "Test.h"
#include <cstdlib>
 
using namespace std;
 
Test::Test(int x, int y)
{
sizeX=x;
sizeY=y;
b=new int*[sizeY];
}
 
void Test::set()
{
    for (int j=0;j<sizeY;j++)
    {
        int *a=new int[sizeX];
        for (int i=0;i<sizeX;i++)
        {
        a[i]=1+rand()%9;
        //cout<<a[i]<<" ";
        }
    b[j]=&a[0];
    //cout<<endl;
    }
}
 
void Test::print()
{
    for (int j=0;j<sizeY;j++)
    {
        for (int i=0;i<sizeX;i++)
        cout<<*(b[j]+i)<<" ";
    cout<<endl;
    }
}
 
Test Test::operator+(const Test &input)
{
Test result(sizeX,sizeY);
    for (int j=0;j<sizeY;j++)
    {
        for (int i=0;i<sizeX;i++)
        result.b[j][i]=b[j][i]+input.b[j][i];
        //*(result.b[j]+i)=*(b[j]+i)+*(input.b[j]+i);
    }
    return result;
}
 
Test::~Test()
{
delete []a;
delete []b;
}

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>
#include<cstdlib>
#include <ctime>
#include "Test.h"
using namespace std;
 
int main()
{
srand(time(0));
 
Test obj1(3,5);
obj1.set();
cout<<endl;
obj1.print();
Test obj2(3,5);
obj2.set();
cout<<endl;
cout<<endl;
obj2.print();
cout<<endl;
Test obj3(3,5);
obj3=obj1+obj2;
obj3.print();
    return 0;
}
Добавлено через 17 минут
что-то с памятью походу...

Добавлено через 8 минут
конструктор копирования надо!

Добавлено через 6 минут
добавил конструктор, всёравно не работает((

C++
1
2
3
4
5
6
7
8
Test::Test(const Test &copy)
{
sizeX=copy.sizeX;
sizeY=copy.sizeY;
b=new int*[sizeY];
    for (int j=0;j<sizeY;j++)
    b[j]=copy.b[j];
}
Добавлено через 2 минуты
ошибка в операторе+ где-то, без него не ругается

Добавлено через 1 час 0 минут
Решил, проблема была в деструкторе, т.к. удалялись а и б, и ещё добавил заполнение нулями result

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Test Test::operator+(const Test &input)
{
Test result(sizeX,sizeY);
result.set(0);
    for (int j=0;j<sizeY;j++)
    {
        for (int i=0;i<sizeX;i++)
        result.b[j][i]=b[j][i]+input.b[j][i];
        //*(result.b[j]+i)=*(b[j]+i)+*(input.b[j]+i);
    }
    return result;
}
 
Test::~Test()
{
 
}
Добавлено через 4 минуты
я там set() перегрузил если что)

Вернуться к обсуждению:
Перегрузка "оператора +" для сложения массива объектов C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2013, 22:07
Готовые ответы и решения:

Перегрузка оператора +, для сложения координат 2х векторов
Задание: разработать абстрактный тип данных &quot;Вектор&quot;. АТД должен обеспечивать : ввод\вывод...

Перегрузка оператора + для сложения двух экземпляров класса
#include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &lt;iostream&gt; #include &lt;clocale&gt; using...

Перегрузка операторов сложения, вычитания и умножения для объектов класса
Есть класс тестовых вопросов. Объявляются 3 объекта этого класса. В 1 объект записывается первый...

Перегрузка оператора ( ) для объектов класса
Здравствуйте! перегрузили оператор (). Каким образом компилятор поймет где мы вызываем оператор...

10
06.11.2013, 22:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.11.2013, 22:07
Помогаю со студенческими работами здесь

C++ Перегрузка оператора сложения
Здравствуйте, пишу класс дробей (Fraction), нужно перегрузить оператор сложения. Получилось...

Перегрузка оператора сложения
оч надо лабу срочно написать помогите плиз... Разработать программу с демонстрацией механизма...

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

Перегрузка оператора сложения
CComplexVector&amp; operator+ (const CComplexVector&amp; right) { CComplexVector* res = new...

Перегрузка оператора сложения
Ребята пожалуйста помогите!!!) Не получается прописать перегрузку оператора сложения в следующем...

Перегрузка оператора сложения
Здравствуйте! Имеется такой код: class ClassA { public: ClassA() { m =...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru