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

Переопределить операцию сложения - C++

Восстановить пароль Регистрация
 
LuBu
4 / 4 / 0
Регистрация: 03.12.2009
Сообщений: 71
05.05.2010, 22:18     Переопределить операцию сложения #1
Добрый вечер.
Вообщем надо написать программу, которая складывает 2 строки причём так что 1 буква 1 строки с 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
#include "iostream"
#include "string.h"
 
using namespace std;
 
class string
{
public:
    char _string[100];
 
void SetS() 
{
    cout << "Введите слово" << endl;
    cin >> _string;
}
 
 
 
    void summa 
    {
 
        
        
 
    }
};
 
 
void main()
{
    char a;
    setlocale(0, "Rus");
 
    string s1, s2;
    s1.Set_S();
    s2.Set_S();
cout << "Результат сложения: "; 
cout << "       \n";
 
    
 
    system("Pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2010, 22:18     Переопределить операцию сложения
Посмотрите здесь:

C++ Перегрузить операцию сложения для класса дробей
C++ : Написать функцию умножения двух чисел, используя только операцию сложения
Написать функцию умножения двух чисел, используя только операцию сложения C++
Числа по основанию 10 и 16. Выполнить операцию сложения C++
C++ В классе перегрузить операцию сложения
C++ Нужно вместо операции сложения написать операцию сравнения временных интервалов
C++ Перегрузить операцию сложения в базовом классе, который имеет два наследника
Возведение в степень числа используя рекурсию и операцию сложения C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hell Knight
 Аватар для Hell Knight
230 / 84 / 3
Регистрация: 11.03.2010
Сообщений: 290
05.05.2010, 22:54     Переопределить операцию сложения #2
вот мой вариант решения:
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
#include <iostream>
 
using namespace std;
 
#define SIZE 32
 
char n3[SIZE*2];
 
char * add(char * n1, char * n2)
{
    memset(&n3, NULL, SIZE*2*sizeof(char));
    int i = 0;
    while (i<SIZE && *(n1 + i) != NULL && *(n2 + i) != NULL)
    {
        n3[2*i] = *(n1 + i);
        n3[2*i + 1] = *(n2 + i);
        i++;
    }
    return &n3[0];
}
 
int main()
{
    char name1[32];
    char name2[32];
    memset(&name1, NULL, SIZE*sizeof(char));
    memset(&name2, NULL, SIZE*sizeof(char));
    cout << "Enter 1st word: ";
    cin >> name1;
    cout << "Enter 2nd word: ";
    cin >> name2;
    char * give = add(&name1[0], &name2[0]);
    cout << add(&name1[0], &name2[0]) << "\n";
    system("pause");
    return 0;
}
Mr.X
Эксперт С++
 Аватар для Mr.X
2807 / 1583 / 248
Регистрация: 03.05.2010
Сообщений: 3,686
06.05.2010, 17:12     Переопределить операцию сложения #3
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
//MS VS
#include "stdafx.h"
#include <string>
#include <algorithm>
#include <iostream>
 
std::string add(const std::string& s1, const std::string& s2)
{
    std::string res_s;
    size_t len1 = s1.length();
    size_t len2 = s2.length();
    for(size_t i = 0; i < std::max(len1, len2); ++i)
    {
        if(i < len1) res_s += s1[i];
        if(i < len2) res_s += s2[i];
    }
    return res_s;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    for(;;)
    {
        std::string str1;
        std::string str2;
        std::cout << "Input string1: ";    
        std::cin >> str1;
        std::cout << "Input string2: ";    
        std::cin >> str2;
        std::cout << "result string: "
                  << add(str1, str2)
                  << std::endl
                  << std::endl;
    }
    return 0;
}
Yandex
Объявления
06.05.2010, 17:12     Переопределить операцию сложения
Ответ Создать тему
Опции темы

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