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

Перевод числа из одной с.с. в другую, манипуляции с цифрами числа - C++

Восстановить пароль Регистрация
 
Ultran
 Аватар для Ultran
3 / 3 / 0
Регистрация: 15.09.2012
Сообщений: 86
21.10.2012, 19:56     Перевод числа из одной с.с. в другую, манипуляции с цифрами числа #1
Здравствуйте!
У меня такая проблема... Есть программа, выполняющая определенные операции с введенным числом (переставляет местами цифры, заменяет цифры на другие цифры). Так вот...

Нужно, чтобы вводилось число в десятичном формате, затем переводилось в 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
32
33
34
35
36
37
38
39
40
// lab0.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <cmath>
 
 
using namespace std;
 
int main()
{
    setlocale(0, "rus");
 
    int chislo, preob1, preob2, rezult, prpreob0, prpreob1, prpreob2, prpreob3, sborka;
    
    cout<<"Введите число: ";
    cin>>oct>>chislo;
    cout<<endl;
 
    preob1 = chislo % 10000 + 50000 + (chislo / 100000 * 100000);
    cout<<"Преобразование #1 числа : "<<preob1<<endl;
 
    preob2 = preob1 % 1000 + 5000 + (preob1 / 10000 * 10000);
    cout<<"Преобразование #2 числа: "<<preob2<<endl;
 
    prpreob0 = (preob2 %10);
    prpreob1 = ((preob2 % 100)/10)*100;
    prpreob2 = ((preob2 % 1000)/100)*10;
    prpreob3 = (preob2/1000)*1000;
    
    sborka = prpreob3 + prpreob1 + prpreob2 + prpreob0;
    cout<<"Преобразование #3 числа: "<<dec<<sborka<<endl;
 
    
    
    system("pause");
    return 0;
}
Помогите пожалуйста!
Напишите код, как это можно реализовать!
Буду очень признателен! Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 19:56     Перевод числа из одной с.с. в другую, манипуляции с цифрами числа
Посмотрите здесь:

C++ перевод из одной системы в другую
C++ перевод числа в другую систему счисления
C++ Дано натуральное число с различными цифрами. Определить, максимальная цифра числа расположена ближе к началу или концу числа
C++ Вывести все трехзначные числа, квадраты которых оканчиваются тремя цифрами, которые и составляют искомые числа
C++ Перевод числа из одной системы счисления в другой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cactus09
Чайник
 Аватар для cactus09
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
21.10.2012, 20:15     Перевод числа из одной с.с. в другую, манипуляции с цифрами числа #2
Если ты используеш математические операции то какую б систему исчесления ты не взял бы число остается числом и смысла переводить в таком случае нету

Если ты переставляеш в числе цифры местами то можно из 10чной в 8ричною а из 8ричной в char* (пересьтавляем цифры местами) а потом выводим в десятичной.

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
int main()
{
    
    int i;
    char* s;
    cin>>i;
    itoa(i,s,8); // itoa(значение,переменнаяБоснование системы счисления);
    cout<<s<<endl;
    system("PAUSE");
    return 0;
}
Ultran
 Аватар для Ultran
3 / 3 / 0
Регистрация: 15.09.2012
Сообщений: 86
21.10.2012, 20:21  [ТС]     Перевод числа из одной с.с. в другую, манипуляции с цифрами числа #3
Цитата Сообщение от cactus09 Посмотреть сообщение
Если ты используеш математические операции то какую б систему исчесления ты не взял бы число остается числом и смысла переводить в таком случае нету

Если ты переставляеш в числе цифры местами то можно из 10чной в 8ричною а из 8ричной в char* (пересьтавляем цифры местами) а потом выводим в десятичной.

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
int main()
{
    
    int i;
    char* s;
    cin>>i;
    itoa(i,s,8); // itoa(значение,переменнаяБоснование системы счисления);
    cout<<s<<endl;
    system("PAUSE");
    return 0;
}
У меня Microsoft Visual C++ 2010 Express, в нем itoa вроде как не пашет... Выдает сейчас мне ошибку при построении.
cactus09
Чайник
 Аватар для cactus09
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
21.10.2012, 20:26     Перевод числа из одной с.с. в другую, манипуляции с цифрами числа #4
попробуй _itoa
Ultran
 Аватар для Ultran
3 / 3 / 0
Регистрация: 15.09.2012
Сообщений: 86
21.10.2012, 20:30  [ТС]     Перевод числа из одной с.с. в другую, манипуляции с цифрами числа #5
Цитата Сообщение от cactus09 Посмотреть сообщение
попробуй _itoa
То же самое...
cactus09
Чайник
 Аватар для cactus09
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
21.10.2012, 20:32     Перевод числа из одной с.с. в другую, манипуляции с цифрами числа #6
А что за ошибка хоть?
Yandex
Объявления
21.10.2012, 20:32     Перевод числа из одной с.с. в другую, манипуляции с цифрами числа
Ответ Создать тему
Опции темы

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