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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
KennyLM
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 4
#1

От числа отделить попарно цифры - C++

15.08.2011, 23:55. Просмотров 1237. Ответов 13
Метки нет (Все метки)

Вводим любое рендомное целое число. К примеру 123456 на екране должно появится - 16 25 34, если к примеру 12345 то - 15 24 3 . Желательно сделать код через while.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2011, 23:55     От числа отделить попарно цифры
Посмотрите здесь:

Программирование рекурсий: отделить цифры данного числа и сложить межу собой - C++
Дано целое неотрицательное число n. Отделить цифры данного числа и сложить межу собой.

Отделить один знак из 5-значного числа - C++
Допустим, есть число 23456. #include <iostream> using namespace std; #include <iomanip> using std::setw; int main() { ...

Получить из трехзначного числа четырехзначное подстановкой в начало числа цифры его единиц - C++
Требуется написать программу, которая их исходного трёхначного числа x получает четырёхзначное число путём подстановки в начало числа x...

Исключить из числа цифры, стоящие между первой и последней цифрой числа. Использовать классы - C++
Исключить из числа цифры, стоящие между первой и последней цифрой числа #include<stdio.h> #include<stdlib.h> #include<conio.h> ...

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

Переставить первую и последнюю цифры числа натурального числа n - C++
Переставить первую и последнюю цифры числа натурального числа n! Заранее спасибо!

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
15.08.2011, 23:58     От числа отделить попарно цифры #2
и? ждешь пока тебе напишут ответ? а сам ничего не придумал?
Ree.exe
56 / 56 / 4
Регистрация: 01.08.2011
Сообщений: 141
16.08.2011, 00:00     От числа отделить попарно цифры #3
Число вводится с клавиантуры или функцией rand() генерируется?
KennyLM
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 4
16.08.2011, 00:01  [ТС]     От числа отделить попарно цифры #4
Цитата Сообщение от Ree.exe Посмотреть сообщение
Число вводится с клавиантуры или функцией rand() генерируется?
с клавиатуры через cin
Ree.exe
56 / 56 / 4
Регистрация: 01.08.2011
Сообщений: 141
16.08.2011, 00:03     От числа отделить попарно цифры #5
Ну тогда можем в массив символов его записать. И по два символа через пробел выводить.
KennyLM
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 4
16.08.2011, 00:04  [ТС]     От числа отделить попарно цифры #6
Цитата Сообщение от Ree.exe Посмотреть сообщение
Ну тогда можем в массив символов его записать. И по два символа через пробел выводить.
Увы массивы еще не изучал... :*(
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
16.08.2011, 00:20     От числа отделить попарно цифры #7
без массивов
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
 
void print_by_two(int val){
    if ( val > 99 )
        print_by_two(val / 100);
    printf("%3d", val % 100);
}
 
int main(void){
    int i;
    
    while ( printf("Number: ") && scanf("%d", &i) == 1 ){
        if ( i < 0 )
            printf("-");
        print_by_two(abs(i));
        printf("\n");
    }
    
    return 0;
}
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.08.2011, 00:54     От числа отделить попарно цифры #8
итерационный вариант
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
unsigned delete_first_digit(unsigned* n)
{
    unsigned i = *n, j = 1;
    for (*n = 0; i / 10; *n += j * (i % 10), j *= 10, i /= 10);
 
    return i;
}
 
int main()
{
    unsigned n = 123456;
    while (n / 10)
    {
    printf("%u%u ", delete_first_digit(&n), n % 10);
    n /= 10;
    }
    if (n)
        printf("%u ", n);
    return 0;
}
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
16.08.2011, 05:55     От числа отделить попарно цифры #9
всеже, при использовании строки будет надежнее.)
допустим возьмем число 110001.
у easybudda 11 0 1

у Maxwe11 11 10 оО
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
16.08.2011, 06:44     От числа отделить попарно цифры #10
Цитата Сообщение от silentnuke Посмотреть сообщение
всеже, при использовании строки будет надежнее
Вот вариант со строкой.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
 
int main(void) {
    
   char  snum[32] = "12345";
   const char*  l, *f; 
   //gets(snum);
   
   l = snum + (strlen(snum) - 1);
   f = snum;
   while(f <= l){
      (f != l) ? printf("%c%c\n", *f, *l) : printf("%c\n", *f);
      ++f;
      --l;
   } 
   
   getch();
}
easybudda
Эксперт С++
9460 / 5473 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
16.08.2011, 11:09     От числа отделить попарно цифры #11
Цитата Сообщение от silentnuke Посмотреть сообщение
у easybudda 11 0 1
C
1
printf("%02d ", val % 100);
будет по две цифры выводить. Правда, с ведущим нулём...
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.08.2011, 13:33     От числа отделить попарно цифры #12
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <boost/lexical_cast.hpp>
int main(){
    int x;
    std::cin >> x;
    std::string buf( boost::lexical_cast<std::string> (x) );
    for (size_t i = 0; i < buf.size() - 1 - ( buf.size() == 1 ? 0 : buf.size() & 1 ); i += 2)
        std::cout << buf[i] << buf[i + 1] << ' ';
    std::cout << (buf.size() & 1 ? buf[buf.size() - 1] : ' ' ) << std::endl;
}
Код
diagon@shadeware:~$ g++ test.cpp 
diagon@shadeware:~$ g++ test.cpp && ./a.out
123456
12 34 56  
diagon@shadeware:~$ ./a.out
12345
12 34 5
diagon@shadeware:~$
silentnuke
16.08.2011, 13:41
  #13

Не по теме:

diagon, прочтите ещё раз суть задания)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2011, 14:27     От числа отделить попарно цифры
Еще ссылки по теме:

Цифры числа - C++
Есть задачка: ВВести натуральное число, сохранить все его цифры: А) В отсортированном массиве, массив распечатать б) Построить...

Разделение числа на цифры - C++
правильная ли программа?(по алгоритму выполнения) задание:напишите программу которая вводит число из 5 цифр, разделяет число на отдельные...

Определить цифры числа - C++
например если число 25 то что бы выводило отдельно 2 и 5!

Разложение числа на цифры - C++
Проверить истинность высказывания: &quot;Цифры данного трехзначного числа образуют возрастающую или убывающую последовательность&quot;. Интересует...


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

Или воспользуйтесь поиском по форуму:
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
16.08.2011, 14:27     От числа отделить попарно цифры #14
А, ну да... Ну тогда так
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <boost/lexical_cast.hpp>
int main(){
        int x;
        std::cin >> x;
        std::string buf( boost::lexical_cast<std::string> (x) );
        for (size_t i = 0, j = buf.size() - 1; i < j; ++i, --j)
                std::cout << buf[i] << buf[j] << ' ';
        std::cout << (buf.size() & 1 ? buf[buf.size() / 2] : ' ' ) << std::endl;
}
Yandex
Объявления
16.08.2011, 14:27     От числа отделить попарно цифры
Ответ Создать тему
Опции темы

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