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

Разложение числа на цифры (где ошибка?) - C++

Восстановить пароль Регистрация
 
MrGadik
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 25
08.12.2010, 18:33     Разложение числа на цифры (где ошибка?) #1
Надо разложить четырехзначное число на цифры.
Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>     
void main()
{
int N,a,b,c,d;
printf("Введите четырехзначное число N:");
scanf("%d",&N);
a=N/1000;
b=N/100-a*10;
c=N/10-a*100-b*10;
d=N%10;
printf("\n a=%d",&a);   
printf("\n b=%d",&b);
printf("\n c=%d",&c);
printf("\n d=%d",&d);
}
Т.е. способ банален - делю нацело и вычитаю все ненужное.
Однако когда я пытаюсь посмотреть значения полученных чисел то наблюдаю такую картину:
N=1234
a=13468
b=13464
c=13470
d=13466
В чем ошибка? Почему выскакивают такие значения? Заранее спасибо.
P.S.: Пишу в Visual C++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 18:33     Разложение числа на цифры (где ошибка?)
Посмотрите здесь:

В десятичной записи числа 42*4* пропущены 2 цифры. Определите эти цифры, если известно, что число кратно 72. C++
C++ Люди добрые подскажите где ошибка?Прога должна искать простые числа в рандомном массиве
C++ задача на разложение числа на различные цифры
C++ Разложение числа на цифры
C++ Удалить из числа все повторяющиеся цифры кроме первого вхождения. Ошибка в коде
Где ошибка? (произведение цифр заданного целого четырехзначного числа) C++
C++ Замена последней цифры на значение наименьшей цифры в записи числа N
C++ Получить число М, которое образуется из числа N путем замены последней цифры на значение наибольшей цифры

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
08.12.2010, 18:40     Разложение числа на цифры (где ошибка?) #2
А так ?
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(void)
{
    int n = 1234;
    int n1 = n % 10;
    int n2 = (n % 100-n1)/10;
    int n3 = (n % 1000-n1)/100;
    int n4 = (n % 10000-n1)/1000;
    printf("%d %d %d %d", n4, n3, n2, n1);
    return 0;
}
MrGadik
0 / 0 / 0
Регистрация: 10.07.2010
Сообщений: 25
08.12.2010, 20:36  [ТС]     Разложение числа на цифры (где ошибка?) #3
а так работает, спасибо))
А может кто нить сказать где я скосячил? что не так?
Yandex
Объявления
08.12.2010, 20:36     Разложение числа на цифры (где ошибка?)
Ответ Создать тему
Опции темы

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