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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
ebywku
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
#1

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

11.04.2013, 15:26. Просмотров 1195. Ответов 11
Метки нет (Все метки)

Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять

Добавлено через 22 минуты
вот так попробовал,но выбивает 0

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
#include <stdio.h>
int main()
{
        int a,i;
    int buf[3];
    printf("Vedite 4islo");
    scanf("%i",a);
    for(i = 0; i < 3; i++)
    {
        buf[i] = a%10;
        a = a/10;
    }
    printf("New = %i",buf[i]);
     getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 15:26     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ
Посмотрите здесь:
Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке C++
Заменить данное число на число, которое получается из исходного записью цифр в обратном порядке C++
C++ Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число.
Дано натуральное число N (N <= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на 2N C++
C++ Вывести на экран число, которое получается если прочитать заданное число в обратном порядке
C++ Дано натуральное число. Найти число, получаемое удалением из исходного всех цифр a
Дано натуральное число N. Найти наименьшее число М (N< M< 2N), которое делится на сумму цифр числа N (без оста C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
11.04.2013, 15:31     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #2
конечно фигню выведет, вы пишете
printf("New = %i",buf[i]);
где i<3 у вас был инвариант цикла, и в данном месте программы это будет символ следующий за выделенной памятью под массив
stima
449 / 298 / 20
Регистрация: 22.03.2011
Сообщений: 965
Завершенные тесты: 2
11.04.2013, 15:33     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <sstream>
#include <iostream>
 
int main()
  {
  int number;
 
  std::cout << "Enter a number" << std::endl;
  std::cin >> number;
 
  std::stringstream ss;
  ss << number;
 
  std::string str_number(ss.str());
  for (auto it = str_number.rbegin(); it != str_number.rend(); ++it)
    std::cout << *it;
  std::cout << std::endl;
 
  return 0;
  }
kuli4ok
31 / 31 / 3
Регистрация: 10.10.2012
Сообщений: 88
11.04.2013, 15:34     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #4
В функции scanf ошибка.
Попробуй вот так:
C++
1
scanf("%d", &a);
И вывод в этом решении надо сделать циклом:
C++
1
2
3
4
printf("New = ");
for(int i=2; i>=0; i--) {
   printf("%d", buf[i]);
}
ebywku
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
11.04.2013, 15:46  [ТС]     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #5
Цитата Сообщение от stima Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <sstream>
#include <iostream>
 
int main()
  {
  int number;
 
  std::cout << "Enter a number" << std::endl;
  std::cin >> number;
 
  std::stringstream ss;
  ss << number;
 
  std::string str_number(ss.str());
  for (auto it = str_number.rbegin(); it != str_number.rend(); ++it)
    std::cout << *it;
  std::cout << std::endl;
 
  return 0;
  }

проблема в том что это я совсем не понял.хотелось бы в таком же формате как и у меня,что бы я понял,и запомнил.

Добавлено через 16 секунд
Цитата Сообщение от kuli4ok Посмотреть сообщение
В функции scanf ошибка.
Попробуй вот так:
C++
1
scanf("%d", &a);
И вывод в этом решении надо сделать циклом:
C++
1
2
3
4
printf("New = ");
for(int i=2; i>=0; i--) {
   printf("%d", buf[i]);
}
Спасибо,сейчас попробую

Добавлено через 6 минут
Цитата Сообщение от kuli4ok Посмотреть сообщение
В функции scanf ошибка.
Попробуй вот так:
C++
1
scanf("%d", &a);
И вывод в этом решении надо сделать циклом:
C++
1
2
3
4
printf("New = ");
for(int i=2; i>=0; i--) {
   printf("%d", buf[i]);
}
не получилось в итоге,новый ответ-> 000
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
11.04.2013, 15:47     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int reverse_num(int n) {
    bool mF=false;
    if(n<0) {
        n=-n;
        mF=true;
    }
    
    int tmp = 0; 
    while (n != 0) {
        tmp = 10 * tmp + n % 10;
        n /= 10;
    } 
    return (mF?-tmp:tmp);
}
ebywku
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
11.04.2013, 16:03  [ТС]     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #7
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int reverse_num(int n) {
    bool mF=false;
    if(n<0) {
        n=-n;
        mF=true;
    }
    
    int tmp = 0; 
    while (n != 0) {
        tmp = 10 * tmp + n % 10;
        n /= 10;
    } 
    return (mF?-tmp:tmp);
}
не получилось,что то ужасное я сделал,в итоге повисла сама программа.
stima
449 / 298 / 20
Регистрация: 22.03.2011
Сообщений: 965
Завершенные тесты: 2
11.04.2013, 16:18     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #8
Вы не так подходите.

1. Прочитайте условие задачи.
2. Прочитайте условие задачи.
3. Разбивайте задачу на подзадачи, пока они вам не станут ясны или неделимы. Если у вас не получается разбить вернитесь к пункту 1.
4. Прочитайте условие задачи еще раз, если ваши подпункты не совпадают с условием вернитесь к пункту 1.
5. Решите каждую подзадачу. Так как ваши задачи или ясны вам или неделимы, то они скорее всего тривиальны.
6. Скомпонуйте.
7. Убедитесь в правильности.
8. Профит.
ebywku
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
11.04.2013, 16:27  [ТС]     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #9
Цитата Сообщение от stima Посмотреть сообщение
Вы не так подходите.

1. Прочитайте условие задачи.
2. Прочитайте условие задачи.
3. Разбивайте задачу на подзадачи, пока они вам не станут ясны или неделимы. Если у вас не получается разбить вернитесь к пункту 1.
4. Прочитайте условие задачи еще раз, если ваши подпункты не совпадают с условием вернитесь к пункту 1.
5. Решите каждую подзадачу. Так как ваши задачи или ясны вам или неделимы, то они скорее всего тривиальны.
6. Скомпонуйте.
7. Убедитесь в правильности.
8. Профит.
В общем спасибо и на этом,постараюсь справиться.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
11.04.2013, 16:28     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #10
Цитата Сообщение от ebywku Посмотреть сообщение
не получилось
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
#include <iostream>
 
int reverse_num(int n) {
    bool mF=false;
    if(n<0) {
        n=-n;
        mF=true;
    }
    
    int tmp = 0; 
    while (n != 0) {
        tmp = 10 * tmp + n % 10;
        n /= 10;
    } 
    return (mF?-tmp:tmp);
}
 
int main(){
    int number;
    std::cout<<"Enter number[int] ->";
    std::cin>>number;
    std::cout<<"Number = "<<number<<"\n";
    std::cout<<"Reverse = "<<reverse_num(number)<<std::endl;
}
Warezovvv
9 / 9 / 2
Регистрация: 09.12.2012
Сообщений: 219
11.04.2013, 16:30     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #11
Ваша задача называется палиндром, если я верно понял, и на эту тему туча тучная задачек в гугле. Надо наверно сначала там поискать и только потом бежать на форум.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2013, 16:39     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ
Еще ссылки по теме:
C++ найти число, которое получено из N перестановкой его цифр в обратном порядке
Дано натуральное число. Если число цифр в числе нечетно, то удалить его серединную цифру C++
Дано четырехзначное натуральное число А. Требуется определить что больше: число А или произведение его цифр? C++
C++ Дано натуральное число. Определить сумму m его последних цифр. Если заданное число – менее чем m-значное, то
Найти число, которое образуется из данного натурального числа при записи его цифр в обратном порядке C++

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

Или воспользуйтесь поиском по форуму:
ebywku
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
11.04.2013, 16:39  [ТС]     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ #12
Цитата Сообщение от Warezovvv Посмотреть сообщение
Ваша задача называется палиндром, если я верно понял, и на эту тему туча тучная задачек в гугле. Надо наверно сначала там поискать и только потом бежать на форум.
я искал,но там в паскале.

Добавлено через 2 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
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
#include <iostream>
 
int reverse_num(int n) {
    bool mF=false;
    if(n<0) {
        n=-n;
        mF=true;
    }
    
    int tmp = 0; 
    while (n != 0) {
        tmp = 10 * tmp + n % 10;
        n /= 10;
    } 
    return (mF?-tmp:tmp);
}
 
int main(){
    int number;
    std::cout<<"Enter number[int] ->";
    std::cin>>number;
    std::cout<<"Number = "<<number<<"\n";
    std::cout<<"Reverse = "<<reverse_num(number)<<std::endl;
}

идеально работает,осталось только разобраться немного)
Yandex
Объявления
11.04.2013, 16:39     Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ
Ответ Создать тему
Опции темы

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