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

Перевод из одной системы счисления в другую - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти площадь треугольника, заданного координатами вершин http://www.cyberforum.ru/cpp-beginners/thread350132.html
Даны целые числа (x1,x2,x3,y1,y2,y3),,,найдите Площадь Треугольника (x1,x2,x3,y1,y2,y3) Я просто в первый раз работаю в Microsoft Visual Studio Не могу сделать а в Понедельник мне надо стать его Что бы плохую оценку не получить((
C++ компиляция больших проектов в Visual C++ 6.0 Допустим есть проект, состоящий из множества файлов исходного кода, заголовочных файлов,ресурсов, картинок и прочее. Все они размещаются по разными папкам, причем папки могут быть вложенными, например в исходниках. Как всю эту структуру папок и файлов добавить в проект, чтобы он (Visual c++) все скомпилировал и скомпоновал? Куда нужно добавлять - в рабочее пространство или прописывать директории? http://www.cyberforum.ru/cpp-beginners/thread350131.html
проверка треугольника C++
Всем привет! Народ, а как правильно проверить существует ли треугольник, у меня в этом ошибка #include<iostream.h> #include<conio.h> class Triangle { private: float seta,setc; public:
Бинарное считывание с файла и бинарный вывод. C++
Пишу в Visual Studio 2008, давно не писал C++, поєтому возникли следующие вопросы по iostream, fstream #include <iostream> #include <fstream> void printFile( char* fname) { std::fstream file; file.open("fname",std::ios::in); char result_sting; //стрічка з 100 символів int i=0; string a;
C++ Неявное преобразование типов http://www.cyberforum.ru/cpp-beginners/thread350120.html
если я правильно понял, то explicit работает таким образом: class abc { int x; public: abc(int x_):x(x_){} ~abc(){} };
C++ class образец Существует class Car в проекте из 3 файлов(Function.cpp|main.cpp|Headers.h) В Function.cpp лежат функции типа char *Car::Get_Marka(){ return marka; } В main.cpp только вызовы функций В Headers.h только прототипы и заголовочные файлы Подскажите как применить вызов типа Car&operator+=(Car&ob_1,Car&ob_2); подробнее

Показать сообщение отдельно
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
17.09.2011, 21:27  [ТС]     Перевод из одной системы счисления в другую
перевод между сс без перевода в 10. работает с числами больше unsigned long long
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <ostream>
#include <string>
#include <algorithm>
#include <locale>
#include <math.h>
#include <sstream>
using namespace std;
 
int perevod(string u,string a,int q)
{       
    int z=0;
    for (int len=0; len<a.size();len++)
        {           
            z*=q;
            z += u.find(toupper(a[len]));        
        }    
    return z;
}
 
string perevod2(string u,int z,int p)
{  
     string s="";
     for (; z ; z /= p) s += u[z % p];                     
     reverse(s.begin(), s.end()); 
     return s;  
} 
 
int main(void)
{   
    string u("0123456789ABCDEF"),a,c="",snos,rezultat;
    int q,p,snos2,j;
    bool x=true;
    cout << "vvedite chislo: "; cin >> a;   
    cout << "vvedite q: "; cin >> q;
    cout << "vvedite p: "; cin >> p;
    int k=perevod2(u,p,q).size();   
    do
    {
       snos=""; rezultat="";         
    for(string::size_type i=0;i<a.size();i++)
    {   
    snos += a[i];
    if (snos =="0") {snos = "";}
    if (snos!="")
    {
        snos2=perevod(u,snos,q);
    }
    else
    {snos2=0;}
    if ((snos2<p) && (i) && (rezultat!="")) {rezultat=rezultat+"0";}
    if (snos2>=p) 
    {       
        j=snos2/p;
        rezultat +=  perevod2(u,j,q);       
        ostringstream ost;
        ost << perevod2(u, snos2%p,q);
        snos = ost.str();                       
    }
}   
        if (snos == "") 
        {
            c+="0";
        }
        else
        {
           c+= perevod2(u,perevod(u,snos,q),p); 
        }
        a=rezultat;
        if (a.size()<=k)
        {
            if (perevod(u,a,q)<p){x=false;}
        }
   }while(x==true);  
     
   c+=perevod2(u,perevod(u,a,q),p);
   reverse(c.begin(), c.end()); 
   cout << string(80,196) << c <<endl;
   system("pause");
}
если надо могу добавить комментарии
 
Текущее время: 20:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru