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

Универсальный конвертер систем счисления - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Set и get или открытое поле http://www.cyberforum.ru/cpp-beginners/thread1827185.html
Доброго времени суток, форумчане! Имеет ли смысл делать set и get методы для закрытого поля, если выполняется по сути только присваивание (без проверок) и получение значения? В каких случаях...
C++ Найти элемент массива на который делятся все остальные Условие задачи: В массиве из n целых чисел найти и распечатать элемент на который делятся все остальные, если такового элемента нет, то распечатать слово "нет" Я в С++ еще новичок, поэтому если не... http://www.cyberforum.ru/cpp-beginners/thread1827171.html
Обработать вещественное число согласно условию C++
Всем привет! У меня есть число , припустим , это 0,12345678 мне надо из этого числа сделать следующее посунуть его на 2 знака вправо - 12,345678 до запятой сделать ноль - 0,345678 и убрать...
Найти в последовательности, количество пар подряд идущих отрицательных элементов C++
Задача звучит так: Найти в последовательности чисел, заданных пользователем с клавиатуры, количество случаев, когда два члена подряд отрицательные. Помогите пожалуйста разобраться с чем здесь нужно...
C++ Библиотеки для решения (недоопределённых) систем линейных уравнений http://www.cyberforum.ru/cpp-beginners/thread1827085.html
Знает кто-нибудь сабж?. Если система недоопределена, то нужно в некотором формате отдавать её общее решение, ну или ФСР. Слышал про Eigen, но так и не смог понять, умеет ли она решать...
C++ Написать программу, которая предложит схему прохождения всех людей через мост за наименьшее время #include <iostream> #include <math.h> #include <conio.h> using namespace std; int main() { int n, i, min, m; cin >> n; int *A = new int; for (i = 0; i < n; i++) { cout << "Enter... подробнее

Показать сообщение отдельно
Catstail
Модератор
22639 / 11007 / 1784
Регистрация: 12.02.2012
Сообщений: 18,169
16.10.2016, 19:44
Что-то не нравятся мне эти решения... Мне представляется, что универсальный конвертор должен брать строку и два целых: исходное основание и результирующее основание, а возвращать тоже строку. При этом int используется для хранения промежуточного результата.

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
char *Digits="0123456789ABCDEFGHIJKLMNOPQTSTUVWXYZ";
 
// Дать позицию цифры
 
int Dig(char c)
{
    int i;
    for (i=0; i<36; i++) if (c==Digits[i]) return i;
    return -1;
}    
 
// Перевод числа, заднного строкой Num в основании ri
// в систему с основанием ro
 
char *UConv(char *Num, int ri, int ro)
{
   char Buf[100];
   char *res;
   int z=0,i,j,k,sz,n=strlen(Num);
   
   for (i=0; i<n; i++) z=z*ri+Dig(Num[i]);
   
   for (i=0; i<100; i++) Buf[i]=0;
   
   j=99;
   
   while(z>0)
   {
     k=(z % ro);            
     Buf[j--]=Digits[k];
     z=z/ro;
   }  
   
   sz=100-j;
   res=new char[sz];
   
   j++;
   
   for (i=0; i<sz-1; i++) res[i]=Buf[j++];
   res[sz-1]=0;
   
   return res;
 
}    
 
 
int main(int argc, char *argv[])
{
    
    char *S="AB5";
    char *R;
    
    R=UConv(S,20,10);
    
    cout << R << endl;
    
    delete [] R;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru