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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread1067590.html
Доброго времени суток. Очень нужна помощь программистов. Есть такое задание: Создать класс, который запоминает римские числа в виде строк. Перегрузить операции +, ++ и +=. Пытался сделать сам, но из-за отсутствия опыта и навыков ничего не получилось. Надеюсь мне помогут умные ребята, хотя б умный совет дадут. Буду благодарен Вам. вот код: #include <iostream> #include <conio.h>
C++ Комментирование программ С++ Помогите с комментариями к программе, пожалуйста, в воскресенье зачет уже Хотя бы основные моменты пояснить http://www.cyberforum.ru/cpp-beginners/thread1067582.html
C++ Шаблоны проектирования
Подскажите пожалуйста. Есть 2 задачи. На шаблон "Абстрактная фабрика" и шаблон "Команда". 1. #include "stdafx.h" #include <iostream> #include <conio.h>
В матрице найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно (Pascal -> C++) C++
В заданной матрице D найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно. Исходную и полученную матрицу вывести в общепринятом виде. Вот как выглядит в Pascale, нужно перекодировать и сделать в visual С++. Помогите пожалуйста. uses crt; var d: array of integer; n,i,j,max,min,imax,imin,jmax,jmin,buf: integer; begin...
C++ Подключение dll к проекту в visual studio http://www.cyberforum.ru/cpp-beginners/thread1067533.html
Доброго дня, тема уже эта конечно избитая на форуме, но так и не смог найти решения под свою конкретную задачу, прочитав все, что имеется на форуме, и посмотрев примеры на msdn. Есть у меня динамическая библиотека, с нестандартным расширением на конце .ascet_psl. По уверению одностаничного мануала с которым идет библиотека, в котором вообще ничего полезного нет, это все же dll-ка. К...
C++ По номеру недели выдать количество уроков в группе Проверти пожалуйста Написать программу, которая бы по номеру дня недели (целому числу от 1 до 7) выдавала бы количество уроков в вашей группе (или сообщение «выходной»). include math; { int a, char b; {cin<<a<<end1; switch a>0; switch a<8 { case 1: b=пять; case 1: b=семь; подробнее

Показать сообщение отдельно
Insane__
43 / 42 / 4
Регистрация: 10.09.2013
Сообщений: 292
10.01.2014, 17:48     Перевод из восьмеричной в десятичную СС
Вот программа для перевода чисел в различные системы счисления. В конструктор передается число и исходная система счисления, потом нужно вызвать метод convertTo(to_system) который вернет число в новой системе счисления.

converter.h
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
#include <vector>
#include <string>
 
using namespace std;
 
 
class Converter{
private:
    vector<int> a;
    int iriginal;
public:
 
    Converter(string str, int original){
        iriginal = original;
        for ( int i=0; i < str.length(); i++ ){
            a.push_back(charToInt(str[i]));
        }
    }
    Converter(){
 
    }
 
    int charToInt(char c){
        if ( c >= '0' && c <= '9' && (c - '0') < iriginal ){
            return c - '0';
        }else{
            if ( c >= 'A' && c <= 'Z' && (c - 'A') < iriginal ){
                return c - 'A' + 10;
            }else {
                return -1;
            }
        }
    }
    char intToChar(int c){
        if ( c >= 0 && c <= 9 ){
            return c + '0';
        }else{
            return c + 'A' - 10;
        }
    }
    int nextNumber(int final){
        int temp = 0;
        for ( int i = 0; i<a.size(); i++){
            temp = temp*iriginal + a[i];
            a[i] = temp / final;
            temp = temp % final;
        }
        return temp;
    }
 
    bool zero(){
        for ( int i=0; i<a.size(); i++ ){
            if ( a[i] != 0 ){
                return false;
            }
        }
        return true;
    }
    string convertTo(int final){
        vector<int> b;
        int size = 0;
        do {
            b.push_back(nextNumber(final));
            size++;
        }while( !zero() );
 
        string sTemp="";
        for (int i=b.size()-1; i>=0; i--){
            sTemp += intToChar(b[i]);
        }
    return sTemp;
    }
};
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <iostream>
#include <time.h>
#include <converter.h>
 
int main()
{
    Converter conv("234",10);
    cout << conv.convertTo(2);
 
    return 0;
}
 
Текущее время: 00:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru