Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Анастасия6369
1 / 1 / 0
Регистрация: 12.06.2012
Сообщений: 18
#1

Сумма цифр числа, стоящих на нечётных позициях - C++

14.06.2012, 17:44. Просмотров 1316. Ответов 12
Метки нет (Все метки)

помогите,пожалуйста!!необходимо посчитать сумму цифр числа,стоящих на не чётных позициях!!(НЕ используя для ввода числа массив)
заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2012, 17:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сумма цифр числа, стоящих на нечётных позициях (C++):

Сумма цифр числа, стоящих на нечётных позициях - C++
необходимо посчитать сумму цифр числа стоящих на нечётных позициях(представлять число массивом нельзя!)

Подсчитать сумму цифр числа, стоящих на четных позициях - C++
Задача 2. Ввести с экрана натуральное пятизначное число. Подсчитать сумму цифр числа, стоящих на четных позициях. Протестировать программу ...

Произведение всех цифр числа, стоящих на позициях с нечетными номерами - C++
Вычислите произведение всех цифр числа, стоящих на позициях с нечетными номерами. Реализовать в консоли

Задача "сумма цифр стоящих на четных позициях", исправьте пожалуйста ошибки - C++
Дано натуральное число n. Найти сумму цифр числа, находящихся на четных позициях (старшая цифра числа находится на первой позиции). ...

Определить в нём среднее геометрическое элементов, стоящих на нечётных позициях. - C++
Ввести одномерный массив A из 15 элементов. Определить в нём среднее геометрическое элементов, стоящих на нечётных позициях. ...

Найдите такие натуральные числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7 - C++
Помогите пожалуйста с задачей. Найдите натуральные числа такие, чтобы сумма их цифр следующего за ним числа делилась на 7. (язык С++)...

12
edward_jonson
160 / 160 / 25
Регистрация: 23.02.2011
Сообщений: 392
14.06.2012, 18:12 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main()
{
    int num;
    cin >> num;
 
    int sum = 0, i = 0;
 
    while(num)
    {
        i++;
        if((i%2)) sum += num%10;
        num/=10;
    }
 
    cout << sum;
 
    return 0;
}
0
Анастасия6369
1 / 1 / 0
Регистрация: 12.06.2012
Сообщений: 18
14.06.2012, 18:24  [ТС] #3
спасибо,но всё время выводит 0((
0
edward_jonson
160 / 160 / 25
Регистрация: 23.02.2011
Сообщений: 392
14.06.2012, 19:55 #4
http://liveworkspace.org/code/6b25f86c64c4df2be9d420ca1aff13bd
0
MrGluck
Модератор
Эксперт CЭксперт С++
7773 / 4809 / 747
Регистрация: 29.11.2010
Сообщений: 13,130
14.06.2012, 20:04 #5
http://liveworkspace.org/code/0997814734a0c200fed5e1825eec8268

http://liveworkspace.org/code/fcab6751a5c1e343fa41deb709e3d852
0
edward_jonson
160 / 160 / 25
Регистрация: 23.02.2011
Сообщений: 392
14.06.2012, 21:36 #6
Что не так?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7773 / 4809 / 747
Регистрация: 29.11.2010
Сообщений: 13,130
15.06.2012, 01:04 #7
Цитата Сообщение от edward_jonson Посмотреть сообщение
Что не так?
На результат посмотри
0
edward_jonson
160 / 160 / 25
Регистрация: 23.02.2011
Сообщений: 392
15.06.2012, 01:53 #8
Цитата Сообщение от MrGluck Посмотреть сообщение
На результат посмотри
Нумерация цифр справа налево, согласно их весу
0
just_dude
11 / 11 / 2
Регистрация: 15.01.2012
Сообщений: 104
15.06.2012, 04:13 #9
Ну варианты такие - если можно через строку, просто перебрать и найти сумму позиции элемента кратного двум



*****
Если так нельзя, то тогда такой вариант:

1) Узнать, сколько десятков. (Делить, пока целое число не станет равно нулю в это время добавляя к счётчику один )
2) Идти циклом до кол-ва десятков.
3)Делить на десяток нужный ( к примеру 397/100 =3,97) и отбрасываем знаки после запятой. Записываем 3 в память


если номер не кратный двум находим сумму

следующий
4)Делить на десяток нужный ( к примеру 397/100 =3,97) и отбрасываем знаки после запятой, 3 умножаем на пред. десяток и 397 отнимаем 300 = 97/10 (следующий десяток)

если номер не кратный двум находим сумму
0
Toshkarik
1148 / 865 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
15.06.2012, 04:54 #10
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>
 
using namespace std;
 
int main() {
   int num,
       sum1 = 0,
       sum2 = 0,
       count = 0;
   
   bool flag = true;
 
   cin >> num;
   
   while ( num ) {
      count++;
      
      if ( flag )
         sum1 += num % 10;
      else
         sum2 += num % 10;
      
      flag = !flag;
      
      num /= 10;
   }
   
   cout << ( count & 1 ? sum1 : sum2 ) << endl;
   
   return 0;
}
Добавлено через 3 минуты
ADD: не увидел имени ТС.
Анастасия6369, зачем Вы создаете несколько тем с одним и тем же вопросом?
0
just_dude
11 / 11 / 2
Регистрация: 15.01.2012
Сообщений: 104
15.06.2012, 12:39 #11
Работает! Скажите пожалуйсто, а что здесь происходит?

C++
1
2
3
4
5
6
 if ( flag )
         sum1 += num % 10;
      else
         sum2 += num % 10;
      
      flag = !flag;
Если count ноль, выводите sum1, а если 1 то sum2?

C++
1
count & 1 ? sum1 : sum2
0
Toshkarik
1148 / 865 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
15.06.2012, 15:05 #12
Цитата Сообщение от just_dude Посмотреть сообщение
Скажите пожалуйсто, а что здесь происходит?
По очереди складываем числа в разные переменные, потом в зависимости от четности-нечетности количества цифр, выбираем нужную сумму.

Цитата Сообщение от just_dude Посмотреть сообщение
Если count ноль, выводите sum1, а если 1 то sum2?
нет, если count ( количество цифр в данном случае ) нечетное, то выводится sum1, иначе sum2. Символ амперсанда в данном случае это битовая операция И. Чтоб было более понятно, можно просто заменить эту конструкцию на count % 2 == 1.
0
just_dude
11 / 11 / 2
Регистрация: 15.01.2012
Сообщений: 104
15.06.2012, 15:20 #13
Цитата Сообщение от Toshkarik Посмотреть сообщение
По очереди складываем числа в разные переменные, потом в зависимости от четности-нечетности количества цифр, выбираем нужную сумму.


нет, если count ( количество цифр в данном случае ) нечетное, то выводится sum1, иначе sum2. Символ амперсанда в данном случае это битовая операция И
угу, спасибо
0
15.06.2012, 15:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2012, 15:20
Привет! Вот еще темы с ответами:

Найти простые числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа, делилась на 7 - C++
задание:&quot;найдите простые числа такие, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7&quot; помогите...

Сумма цифр, стоящих на четных местах - C++
Дано число. Посчитать сумму цифр, стоящих на четных местах числа. #include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;stdio.h&gt; ...

Определить для числа: является ли сумма его цифр двузначным числом; больше ли сумма его цифр числа "а" - C++
4.24. Дано двузначное число. Определить: а) является ли сумма его цифр двузначным числом; б) больше ли числа &quot;a&quot; сумма его...

Проверить условие: сумма цифр заданного числа N превосходит произведение цифр этого же числа на 1 - C++
Составит линейную логическую программу, печатающую значение 1, если указанное высказывание является истинным, и 0 – в противном случае:...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru