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

необходимо перевернуть его (число) и вывести на экран. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
MeTeop
2 / 2 / 0
Регистрация: 03.01.2011
Сообщений: 13
17.01.2011, 22:30     необходимо перевернуть его (число) и вывести на экран. #1
1. Пользователь вводит с клавиатуры число - программа должна показать сколько в данном числе цифр. Число вводится целиком в одну переменную.
2. Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран.
3. Пользователь вводит с клавиатуры число, необходимо показать на экран сумму его цифр.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 22:30     необходимо перевернуть его (число) и вывести на экран.
Посмотрите здесь:

C++ Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран.
пользователь вводит число, вывести на экран его побитово C++
C++ пользователь вводит число, вывести на экран его побитово
C++ С клавиатуры задается двухзначное целое число. Необходимо вывести на экран все его делители
Есть динамический массив с размерностью 5, необходимо его сделать с размерностью 6, заполнить цифрами и вывести на экран C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
 Аватар для HighPredator
5351 / 1734 / 320
Регистрация: 10.12.2010
Сообщений: 5,120
Записей в блоге: 3
17.01.2011, 23:07     необходимо перевернуть его (число) и вывести на экран. #2
№1
C++
1
2
3
4
5
6
7
8
9
10
11
int GetDigitCount(int a);
{
    int cnt=0;
    int i=1;
    while((a%i)!=a)
    {
        cnt++;
        i=i*10;
    }
    return cnt;
}
№3
C++
1
2
3
4
5
6
7
8
9
10
11
int GetDigitSum(int a);
{
    int s=0;
    int b=a;
    while((b/10)<>0)
    {
        s=s+b%10;
        b=b/10;
    }
    return s;
}
№2
C++
1
2
3
4
5
6
7
8
9
10
11
12
int ReverseDigit(int a);
{
    int Digit=a;
    int Reversed=0;
    while(Digit>0)
    {
        Reversed=Reversed*10;
        Reversed=Reversed+(Digit%10);
        Digit=Digit/10;
    }   
    return Reversed;
}
Добавлено через 29 секунд
Писал на скорую руку, так что могут быть баги))
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
17.01.2011, 23:15     необходимо перевернуть его (число) и вывести на экран. #3
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
#include <string.h>
main()
{
      char mas[255];
      int n;
      cout<<" Vvedite chislo :\n";
      cin>>mas;
      n=strlen(mas);
      cout<<" Otvet : "<<n<<"\n";
      system("PAUSE");
      return 0;
}

2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
#include <string.h>
main()
{
      char mas[255];
      cout<<" Vvedite chislo :\n";
      cin>>mas;
      strrev(mas);
      cout<<" Otvet : "<<mas<<"\n";
      system("PAUSE");
      return 0;
}

3.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
#include <string.h>
main()
{
      char mas[255];
      int s=0, i, n;
      cout<<" Vvedite chislo :\n";
      cin>>mas;
      n=strlen(mas);
      for (i=0; i<n; i++) if (mas[i]-'0'!=-3) s+=mas[i]-'0';
      cout<<" Otvet : "<<s<<"\n";
      system("PAUSE");
      return 0;
}
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
17.01.2011, 23:25     необходимо перевернуть его (число) и вывести на экран. #4
Цитата Сообщение от MeTeop Посмотреть сообщение
Пользователь вводит с клавиатуры число - программа должна показать сколько в данном числе цифр. Число вводится целиком в одну переменную
C++
1
2
3
4
5
6
#include <string>
#include <cstddef>
#include <boost/lexical_cast.hpp>
 
int         n     = 12345;
std::size_t count = boost::lexical_cast<std::string>(n).length();  // count == 5
Цитата Сообщение от MeTeop Посмотреть сообщение
Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран
C++
1
2
3
4
5
6
7
8
9
10
#include <algorithm>
#include <string>
#include <boost/lexical_cast.hpp>
 
int         n = 12345
std::string s = boost::lexical_cast<std::string>(n);
 
std::reverse(s.begin(), s.end());
 
int r = boost::lexical_cast<int>(s);  // r == 54321
Цитата Сообщение от MeTeop Посмотреть сообщение
Пользователь вводит с клавиатуры число, необходимо показать на экран сумму его цифр
C++
1
2
3
4
5
6
7
8
9
10
11
#include <algorithm>
#include <string>
#include <boost/lexical_cast.hpp>
#include <boost/lambda/lambda.hpp>
 
int         n = 12345
std::string s = boost::lexical_cast<std::string>(n);
 
int sum = 0;
 
std::for_each(s.begin(), s.end(), sum += boost::lambda::_1 - '0'); // sum == 15
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
17.01.2011, 23:28     необходимо перевернуть его (число) и вывести на экран. #5
Так-с... Кто ещё какой вариант подкинет ? =))
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
18.01.2011, 01:35     необходимо перевернуть его (число) и вывести на экран. #6
1.
C++
1
2
3
4
5
6
int count(int i)
{
    int count = 1;
    while(i/=10) ++count;
    return count;
}
2.
C++
1
2
3
4
5
6
int reverse(int i)
{
    int res = i % 10;
    while(i/=10) res = res * 10 + i % 10;
    return res;
}
3.
C++
1
2
3
4
5
6
int sum(int i)
{
    int sum = i % 10;
    while(i/=10) sum+= i % 10;
    return abs(sum);
}
Yandex
Объявления
18.01.2011, 01:35     необходимо перевернуть его (число) и вывести на экран.
Ответ Создать тему
Опции темы

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