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

Как реализовать разделение числа на цифры через цикл? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
19.10.2010, 11:22     Как реализовать разделение числа на цифры через цикл? #1
Как реализовать через цикл в C разделение числа на цифры и записать их в отдельные переменные, для последующих действий с ними
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
19.10.2010, 11:41     Как реализовать разделение числа на цифры через цикл? #2
C++
1
2
3
4
5
6
for(i=num,k=1; i>0; i/=10,k++)
    {   
        ch=num%10;
        num/=10;
        cout<<"ch = "<<ch<<endl;
    }
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
19.10.2010, 11:47  [ТС]     Как реализовать разделение числа на цифры через цикл? #3
Цитата Сообщение от MILAN Посмотреть сообщение
C++
1
2
3
4
5
6
for(i=num,k=1; i>0; i/=10,k++)
    {   
        ch=num%10;
        num/=10;
        cout<<"ch = "<<ch<<endl;
    }
Необходимо чтобы цифры записывались в отдельные переменные(к примеру число 12, а переменные для использования а=1 и в=2)
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
19.10.2010, 11:49     Как реализовать разделение числа на цифры через цикл? #4
Цитата Сообщение от Dimaskorik Посмотреть сообщение
Необходимо чтобы цифры записывались в отдельные переменные(к примеру число 12, а переменные для использования а=1 и в=2)
Цикл показали для разбиения на цифры, хранить по 1-й цифре можно в масиве
Dimaskorik
0 / 0 / 0
Регистрация: 29.09.2010
Сообщений: 28
19.10.2010, 11:57  [ТС]     Как реализовать разделение числа на цифры через цикл? #5
Цитата Сообщение от LineStown Посмотреть сообщение
Цикл показали для разбиения на цифры, хранить по 1-й цифре можно в масиве
Нет массивов не нужно))) Мы ещё не изучали... Напишу условие задачи чтобы было понятнее...
Дано натуральное число. Определить:
  1. Количество цифр в нём
  2. Произведение его цифр
  3. Сумму квадратов его цифр
  4. Сумму его первой и последней цифры


!!! И всё это необходимо реализовать в С
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
19.10.2010, 12:13     Как реализовать разделение числа на цифры через цикл? #6
Без масива хранить в переменных не получится\
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
19.10.2010, 13:17     Как реализовать разделение числа на цифры через цикл? #7
Цитата Сообщение от LineStown Посмотреть сообщение
Без масива хранить в переменных не получится
А зачем нам массив? Нам на каждой итерации цикла нужно сохранять только одну цифру:
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
#include <stdio.h>
 
//Дано натуральное число. Определить:
//Количество цифр в нём
//Произведение его цифр
//Сумму квадратов его цифр
//Сумму его первой и последней цифры
 
int main ( void )
{
    unsigned int number, count = 1, product = 0, squareSum = 0, dSum = 0, init;
    unsigned int currDigit;
    printf ( "Please input a number: " );
    scanf ( "%u", &number );
    init = number;
    if ( number )
    {
        product = 1;
        count = 0;
 
        currDigit = number % 10;
        product *= currDigit;
        squareSum += currDigit * currDigit;
        ++count;
 
        dSum += currDigit;
 
        number /= 10;
 
        while ( number )
        {
            currDigit = number % 10;
            product *= currDigit;
            squareSum += currDigit * currDigit;
            ++count;
            number /= 10;
        }
 
        dSum += currDigit;
    }
    printf ( "The number %u has %u digits\n", init, count );
    printf ( "The product of digits is %u\n", product );
    printf ( "The sum of squares of digits is %u\n", squareSum );
    printf ( "The sum of the first and the last digit is %u", dSum );
    return 0;
}
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
19.10.2010, 13:32     Как реализовать разделение числа на цифры через цикл? #8
Цитата Сообщение от Nameless One Посмотреть сообщение
А зачем нам массив? Нам на каждой итерации цикла нужно сохранять только одну цифру:
А вот для этого нужен масив
Цитата Сообщение от Dimaskorik Посмотреть сообщение
Как реализовать через цикл в C разделение числа на цифры и записать их в отдельные переменные
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
19.10.2010, 13:37     Как реализовать разделение числа на цифры через цикл? #9
LineStown, да просто ТС неправильно сформулировал задание, вот и все
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2010, 13:37     Как реализовать разделение числа на цифры через цикл?
Еще ссылки по теме:

Разделение числа на цифры C++
Реализовать через цикл for C++
C++ Определить, составляют ли цифры числа возрастающую последовательность (через массивы)

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

Или воспользуйтесь поиском по форуму:
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
19.10.2010, 13:37     Как реализовать разделение числа на цифры через цикл? #10
Nameless One, А как же формировать задание, если сам его делать не будешь - естественно абыкак
Yandex
Объявления
19.10.2010, 13:37     Как реализовать разделение числа на цифры через цикл?
Ответ Создать тему
Опции темы

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