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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Наська_91
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
#1

Реверсирование - C++

22.01.2011, 21:24. Просмотров 2139. Ответов 32
Метки нет (Все метки)

Помогите пожалуйста!

Задача
Реверсировать число и увеличить его в 2 раза.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2011, 21:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реверсирование (C++):

Реверсирование строк - C++
Всем добрый вечер! Как всегда, практикуюсь по книжным примерам. Вот дошёл до темы реверсирования строк, то есть расположения букв в...

Реверсирование строк - C++
Нужно отсортировать строки по алфавиту и вывести в файл реверсированные строки. #include "stdafx.h" #include <fstream> #include...

реверсирование строки - Assembler
Помогите написать программу реверсирования строки, т.е. замены прядка следования символов в строке на обратный.

Реверсирование строки - Assembler
может ошибки где есть? .data stroka db 'stroka',0 len equ $-stroka stdout DWORD ? cWritten DWORD ? .code proga: ...

Объединение и реверсирование - Assembler
Всем привет! Помогите пожалуйста с программой. Необходимо написать реверсирование строки, используя при этом объединение(сложная структура,...

Проверка и реверсирование списка - Lisp
Проверяем подсписок на элементы с d по k, если таковые имеются, то выводим реверсированный список, если нет, то исходный.

32
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 21:28 #2
Наська_91, в чём проблема? В алгоритме?
0
Наська_91
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
22.01.2011, 21:30  [ТС] #3
volovzi, скорее всего в самом описании... Я знаю что нужно использовать "%"... но как???
0
Мигрень
20 / 20 / 2
Регистрация: 09.11.2010
Сообщений: 102
22.01.2011, 21:34 #4
Реверсировать число
C++
1
2
3
4
5
    while(chislo)
    {
        std::cout<<chislo % 10;
        chislo /= 10;
    }

а как увеличить на 2 - уже сами
0
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 21:35 #5
Наська_91, ну тогда сформулируй алгоритм, а мы тебе подскажем, как написать программу.
0
Наська_91
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
22.01.2011, 21:36  [ТС] #6
Мигрень, я так уже пробовала, но она не выполняется... Не знаю почему... Может проблела в Microsoft Visual Studio 2005???
0
Мигрень
20 / 20 / 2
Регистрация: 09.11.2010
Сообщений: 102
22.01.2011, 21:38 #7
Копируйте сюда ваш код... телепатически не определить что вы там "пробовали"
0
Наська_91
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
22.01.2011, 21:40  [ТС] #8
Мигрень, Вот...
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
# include <iostream> 
using namespace std;
int main()
{
    /*Дано довільне ціле число n. Написати програму, яка розбиває число n на цифри і виводить 
    їх на екран; підраховує скільки цифр в числі n; знаходить суму цифр числа n; змінює 
    порядок цифр числа n на зворотній. Збільшити отримане реверсне число у 2 рази.*/
    int n=0, a=0, b=0, kilkist=0, summ=0, reversne=0;
    cout<<"Enter int n="; 
    cin>>n;
    for (int i=0; n!=0; i++)
    {
        a=n%10; //визначає останню цифру числа n
        b=n/10; //відкидає останню цифру числа n
        n=b;
        summ+=a; //підраховує сумму цифр в числі n
        kilkist+=1; //підраховує к-ть цифр в числі n
        cout<<a<<"; ";//виводить цифри з яких складається число n
    }
    cout<<"\n";
    cout<<"kilkist="<<kilkist<<endl;
    cout<<"summ="<<summ<<endl;
    cout<<"Reversne=";
    while(n)
    {
        cout<<n % 10;
        n =/ 10;
    }
    cout<<endl;
    return 0;
}
0
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 21:45 #9
Наська_91, для этой задачи нужно всего две переменных: из одной последовательно удаляются с конца разряды и добавляются во вторую.
Чтобы взять последний разряд числа, нужно поделить его по модулю 10, в C++ это выглядит так: number % 10. Затем это число нужно поделить на десять.
Со второй переменной поступать надо в обратном подярке: сначала умножить на десять, а потом добавить тот самый выделенный разряд.
1
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
22.01.2011, 21:45 #10
реверс
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 "stdafx.h"
 
void reversNumber(int Number);
 
int _tmain(int argc, _TCHAR* argv[])
{
    reversNumber(24);
    _getch();
    return 0;
}
 
void reversNumber(int Number)
{
    if (!(Number / 10))
    {
        std::cout << Number;
    }
 
    else    
    {
        std::cout << Number % 10;
        reversNumber(Number/10);
    }
}
0
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 21:47 #11
panicwassano, это неверный подход.
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
22.01.2011, 21:48 #12
Цитата Сообщение от volovzi Посмотреть сообщение
panicwassano, это неверный подход.
чем? первое что на ум пришло просто
0
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 21:49 #13
panicwassano, твоя программа просто печатает цифры, а задача подразумевает получение некоторого числа, с которым можно произвести арифметическую операцию (в данном случае это умножение на два).
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
22.01.2011, 21:51 #14
Цитата Сообщение от volovzi Посмотреть сообщение
panicwassano, твоя программа просто печатает цифры, а задача подразумевает получение некоторого числа, с которым можно произвести арифметическую операцию (в данном случае это умножение на два).
я написал не решение задачи, а как можно реверсировать, если вы знаете почему бы вам самим полностью не написать ???
0
Мигрень
20 / 20 / 2
Регистрация: 09.11.2010
Сообщений: 102
22.01.2011, 21:51 #15
Если не брать во внимание пару синтаксических ошибок, то в этой части кода
C++
1
2
3
4
5
 while(n)
    {
        cout<<n % 10;
        n =/ 10;
    }
вы используете n которое выше уже подвергалось обработке и изменило свое начальное значение
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2011, 21:51
Привет! Вот еще темы с ответами:

Реверсирование части подсписков - Lisp
Здравствуйте! Поставлена следующая задача: реверсировать только подсписки, четных степеней вложения. Как это можно реализовать ? Спасибо)

Задача на реверсирование чисел - C (СИ)
В общем задача на реверсирование чисел у меня получилось только с положительными числами вот пример: #include &quot;stdafx.h&quot; int...

Реверсирование самих строк в очереди - C#
Здравствуйте, нужно создать очередь из произволных числа строк и реверсировать их,то есть изменить порядок следования СТРОК(самих строк) на...

Частичное реверсирование с помощью стека - Lisp
У кого-нибудь есть идеи насчет этой задачи? :) Реализовать стек в виде списка. Дана величина a строкового типа из четного количества...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
22.01.2011, 21:51
Ответ Создать тему
Опции темы

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