Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58

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

11.04.2013, 15:26. Показов 3750. Ответов 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;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2013, 15:26
Ответы с готовыми решениями:

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

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

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

11
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,850
11.04.2013, 15:31
конечно фигню выведет, вы пишете
printf("New = %i",buf[i]);
где i<3 у вас был инвариант цикла, и в данном месте программы это будет символ следующий за выделенной памятью под массив
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
11.04.2013, 15:33
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;
  }
0
32 / 32 / 17
Регистрация: 10.10.2012
Сообщений: 88
11.04.2013, 15:34
В функции scanf ошибка.
Попробуй вот так:
C++
1
scanf("%d", &a);
И вывод в этом решении надо сделать циклом:
C++
1
2
3
4
printf("New = ");
for(int i=2; i>=0; i--) {
   printf("%d", buf[i]);
}
1
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
11.04.2013, 15:46  [ТС]
Цитата Сообщение от 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
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
11.04.2013, 15:47
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);
}
1
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
11.04.2013, 16:03  [ТС]
Цитата Сообщение от 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);
}
не получилось,что то ужасное я сделал,в итоге повисла сама программа.
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
11.04.2013, 16:18
Вы не так подходите.

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

1. Прочитайте условие задачи.
2. Прочитайте условие задачи.
3. Разбивайте задачу на подзадачи, пока они вам не станут ясны или неделимы. Если у вас не получается разбить вернитесь к пункту 1.
4. Прочитайте условие задачи еще раз, если ваши подпункты не совпадают с условием вернитесь к пункту 1.
5. Решите каждую подзадачу. Так как ваши задачи или ясны вам или неделимы, то они скорее всего тривиальны.
6. Скомпонуйте.
7. Убедитесь в правильности.
8. Профит.
В общем спасибо и на этом,постараюсь справиться.
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
11.04.2013, 16:28
Цитата Сообщение от 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;
}
1
 Аватар для Warezovvv
9 / 9 / 3
Регистрация: 09.12.2012
Сообщений: 219
11.04.2013, 16:30
Ваша задача называется палиндром, если я верно понял, и на эту тему туча тучная задачек в гугле. Надо наверно сначала там поискать и только потом бежать на форум.
0
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
11.04.2013, 16:39  [ТС]
Цитата Сообщение от 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;
}

идеально работает,осталось только разобраться немного)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2013, 16:39
Помогаю со студенческими работами здесь

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке
6: ( сделать по теме:«Подпрограммы. Нерекурсивные процедуры и функции») Заменить данное натуральное число на число, которое получается из...

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

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

Заменить каждое число на число, которое получается из исходного записью его цифр в обратном порядке
Задано множество натуральных чисел. Заменить каждое из них на число, которое получается из исходного записью его (десятичных) цифр в...

Заданное число заменить на число, которое получается из исходного значения записью его цифр в обратном порядке
В подпрограммах не должно присутствовать ввода исходных данных (например, с помощью Readln) и вывода результатов на экран. Ввод исходных...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru