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

Как сложить первую и вторую части переменных? - C++

Восстановить пароль Регистрация
 
ZerkaloTMY
 Аватар для ZerkaloTMY
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 68
14.02.2013, 20:31     Как сложить первую и вторую части переменных? #1
Здравствуйте, уважаемые форумчане.

Допустим есть у меня в переменной некое четырехзначное значение, например, 1981 и надо сложить его первую и вторую части, тобишь 19 + 81, как это сделать?

Благодарю всех заранее.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2013, 20:31     Как сложить первую и вторую части переменных?
Посмотрите здесь:

C++ Поменять местами первую и вторую половину массива.
C++ Поменять местами первую и вторую половины массива
Отсортировать первую половину массива по возрастанию, а вторую по убыванию C++
Pascal -> С++ (определить вторую цифру дробной части частного от деления суммы первой и третьей цифр трехзначного числа на вторую цифру этого числа) C++
C++ Скопировать первую матрицу во вторую
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
3BEPb_TyTa
 Аватар для 3BEPb_TyTa
18 / 18 / 1
Регистрация: 18.05.2010
Сообщений: 83
14.02.2013, 20:46     Как сложить первую и вторую части переменных? #2
C++
1
2
int x = 1980;
int ans = x / 100 + x % 100;
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
14.02.2013, 20:51     Как сложить первую и вторую части переменных? #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
    int num = 1981;
    std::cout << num << std::endl;
 
    int res = (num / 100) + (num % 100);
    std::cout << (num / 100) << " + " << (num % 100) << " = " << res;
 
    return 0;
}
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
14.02.2013, 21:04     Как сложить первую и вторую части переменных? #4
Цитата Сообщение от ZerkaloTMY Посмотреть сообщение
Допустим есть у меня в переменной некое четырехзначное значение, например, 1981 и надо сложить его первую и вторую части, тобишь 19 + 81, как это сделать?
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
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
 
int main()
{
    char sval[80];
    int ival;
 
    std::cout << "Enter value: ";
    std::cin >> ival;
 
    sprintf(sval, "%d", ival); // Запишем переменную ival в массив sval.
 
    int mid = strlen(sval)/2; // Найдём середину.
 
    int fv, sv;
    fv = sv = 0;
 
    // Найдём первую часть.
    for (int i = 0; i != mid; ++i)
        fv = fv * 10 + (sval[i] - '0');
    // Найдём вторую часть.
    for (int i = mid; i != (int)strlen(sval); ++i)
        sv = sv * 10 + (sval[i] - '0');
 
    std::cout << "Sum = " << fv + sv << std::endl;
 
    return 0;
}
Добавлено через 2 минуты
Подходить не только под четырёхзначные значения
ZerkaloTMY
 Аватар для ZerkaloTMY
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 68
14.02.2013, 21:21  [ТС]     Как сложить первую и вторую части переменных? #5
Спасибо, а что если мне нужно сложить 1981 так: 1 + 9 + 8 + 1 ?

xtorne21st, я только только начинаю при чем в билдер 6, на сколько я понимаю, код любезно предоставленный Вами предназначен не для билдера... короче, не супер понятно. %)

Добавлено через 3 минуты
xtorne21st, не, вроде начинаю вьежать, щас попробую))))

Добавлено через 3 минуты
xtorne21st, вроде вьезд в суть темы осуществился) но теперь надо сложить все цифры четырехзначного числа. %)
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
14.02.2013, 21:33     Как сложить первую и вторую части переменных? #6
Цитата Сообщение от ZerkaloTMY Посмотреть сообщение
xtorne21st, я только только начинаю при чем в билдер 6, на сколько я понимаю, код любезно предоставленный Вами предназначен не для билдера... короче, не супер понятно. %)
Код предназначен для стандарта С++

Добавлено через 55 секунд
Цитата Сообщение от ZerkaloTMY Посмотреть сообщение
xtorne21st, вроде вьезд в суть темы осуществился) но теперь надо сложить все цифры четырехзначного числа. %)
Это ещё проще
ZerkaloTMY
 Аватар для ZerkaloTMY
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 68
14.02.2013, 21:34  [ТС]     Как сложить первую и вторую части переменных? #7
xtorne21st, не будете ли столь любезны чтобы помочь мне со следующей задачкой? (1 + 9 + 8 + 1)
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
14.02.2013, 21:39     Как сложить первую и вторую части переменных? #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cstdio>
#include <cstring>
 
int main()
{
    char sval[80];
    int ival;
 
    std::cout << "Enter value: ";
    std::cin >> ival;
 
    sprintf(sval, "%d", ival); // Запишем переменную ival в массив sval.
 
    int sum = 0;
 
    for (int i = 0; i != (int)strlen(sval); ++i)
        sum += sval[i] - '0';
 
    std::cout << "Sum = " << sum << std::endl;
 
    return 0;
}
Добавлено через 1 минуту
Bash
1
2
3
4
5
6
7
ilyuha21st@coldshoot:~/projects$ ./prog
Enter value: 456
Sum = 15
ilyuha21st@coldshoot:~/projects$ ./prog
Enter value: 1981
Sum = 19
ilyuha21st@coldshoot:~/projects$
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
14.02.2013, 21:44     Как сложить первую и вторую части переменных? #9
Цитата Сообщение от ZerkaloTMY Посмотреть сообщение
1 + 9 + 8 + 1 ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main ()
{
    int num = 1981;
    int res = 0;
    while (num) {
        res += num % 10;
        num /= 10;
    }
    std::cout << res << std::endl;
 
}
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
14.02.2013, 21:47     Как сложить первую и вторую части переменных? #10
Или так
ZerkaloTMY
 Аватар для ZerkaloTMY
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 68
14.02.2013, 22:07  [ТС]     Как сложить первую и вторую части переменных? #11
xtorne21st, теперь билдер ругается слеующим образом:

call to undefined function 'sprintf'

Добавлено через 17 минут
Ev[G]eN, вот Ваше решение помогло, благодарю великодушно.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
14.02.2013, 22:11     Как сложить первую и вторую части переменных? #12
Цитата Сообщение от ZerkaloTMY Посмотреть сообщение
call to undefined function 'sprintf'
опечатка s уберите
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2013, 23:23     Как сложить первую и вторую части переменных?
Еще ссылки по теме:

C++ Поменять в числе первую и вторую цифры
Создать матрицу и поменять первую и вторую строки местами C++
Заполнить первую половину матрицы размером n*n единицами, а вторую - нулями C++

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

Или воспользуйтесь поиском по форуму:
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
14.02.2013, 23:23     Как сложить первую и вторую части переменных? #13
Цитата Сообщение от Nixy Посмотреть сообщение
опечатка s уберите
Нет никакой опечатки. У вас просто старая версия компилятора, которая не поддерживает функционал С++11

Добавлено через 1 минуту
http://www.cplusplus.com/reference/cstdio/sprintf/

Добавлено через 1 минуту
Bilder imho outofday
Yandex
Объявления
14.02.2013, 23:23     Как сложить первую и вторую части переменных?
Ответ Создать тему
Опции темы

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