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

Перевод систем счисления. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод числа после запятой переменной типа double http://www.cyberforum.ru/cpp-beginners/thread202936.html
Здравствуйте!!! У меня есть 2 программы, одну мне дали вторую написал. Та программа которая была написана мной работает чуть чуть коряво:cry: Задание такое есть какоето число допустим 12.34567...и т.д. мне нужно вывести на экран числа после запятой и через запятую тоесть 3,4,5,6,7... вот код первой программы которую мне дали #include <iostream> using std::cout;
C++ Программа зависает Переписал пример из книги про указатели. #include <iostream> int main() { int *pA; int a; a=5; pA = &a; std::cout << *pA; delete pA; http://www.cyberforum.ru/cpp-beginners/thread202932.html
Компилятор влияет на результат!!! C++
Есть такая программа: int _tmain(int argc, _TCHAR* argv) { const long l = 10; *((long*)&l) = 200; printf ("%d", l); return 0; } По умолчанию компилируеться как С++ и выводит 10, но когда правой кнопкой кликнуть по проекту и изменить в свойствах настройки компиляции как чистый С, тогда выводит 200. Подскажите почему?
C++ можно ли в многоугольник с вершинами в заданных координатах вписать окружность
требуется написать программу которая определяет можно ли в многоугольник с вершинами в заданных координатах вписать окружность, и если можно то указать координаты центра и радиусю
C++ Передача потока по параметру функции http://www.cyberforum.ru/cpp-beginners/thread202924.html
Доброго времени суток. Есть пара вопросов :) Допустим у нас имеется функция открытия файла: int open_file() { char file_name; cin >> file_name; ifstream file_obf(file_name); //communication stream output with a file
C++ Нарушение прав доступа при записи Создаю свой класс ошибок следующим образом: class SecureTransportException { private: SecureLibraryErrorCode errorCode_; public: std::string knownErrorCodes_; //30 - кол-во ошибок SecureTransportException(SecureLibraryErrorCode errorCode); подробнее

Показать сообщение отдельно
DarkEL
1 / 1 / 0
Регистрация: 07.01.2010
Сообщений: 8
04.12.2010, 00:01     Перевод систем счисления.
Сори, нет времени разбираться именно в твоём вопросе, но я недавно сделал лабу по переводу из любой системы счисления в любую (от двоичной до тридцатишестиричной).Поковыряй код, может интересно будет)

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
81
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <math.h>
#include <windows.h>
 
char user_number[100],result[100],result2[100];
long int bufer;
int sys1,sys2;
char alph[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
char* zamena(char*);
int number(char);
char symbol(int);
int vbufer(char*,int);
char* perevod(int,int);
void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    puts("введите число");
    gets(user_number);fflush(stdin);
    puts("введите исходную систему счисления (от 2 до 36)");
    scanf("%d",&sys1);fflush(stdin);
    puts("введите систему счисления результата (от 2 до 36) ");
    scanf("%d",&sys2);fflush(stdin);
    bufer=vbufer(user_number,sys1);
    strcpy(result,perevod(bufer,sys2));
    strcpy(result2,zamena(result));
    printf("%s",result2);
    getch();
}
char* zamena(char* res)
{
    char buf;
    char buf1[100];
    memset(buf1, 0, 100);
    for(int i=strlen(res);i!=0;i--)
    { res[i-1]=symbol(res[i-1]);
    buf1[strlen(res)-i]=res[i-1];
    }
    return buf1;
}
int number(char symbol)
{
    int numb=0;
    for(int i=0;symbol!=alph[i];i++)
    {
        numb+=1;
    }
    return numb;
}
 
int vbufer(char* usernumb,int system)
{ 
    int buf=0;
    for(int i=strlen(usernumb);i>0;i--)
    {
        buf+=number(usernumb[i-1])*pow((double)system,(double)(strlen(usernumb)-i));
    }
    return buf;
 
}
char* perevod(int arg,int notation)
{
    char res[100];
    memset(res, 0, 100);
    int buf=arg;
    for(int i=0;buf>=notation;i++)
    {
        res[i]=buf%notation+'0';
        buf=buf/notation;
    }
    res[strlen(res)]=buf+'0';
    return res;
}
char symbol(int numb)
{
    char symb;
    symb=alph[numb-'0'];
    return symb;
}
 
Текущее время: 12:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru