CryptoNet - исследования в области криптографии, сжатия данных и помехоустойчивого кодирования.
СКБ КриптоНет

ФорумыSDO СryptoNetКриптографияИспользование контейнеров С++

 
 
Автор Сообщение

Sylk

Сообщений: 6
Откуда: ua
Род занятий: Sylk
#1   26.05.10 00:58          
Возник вопрос может кто-то сталкивался. Как использовать контейнеры чтоб увеличивать размер массива *v при надобности на единицу. И возможно ли сделать контейнер с функции DecToBin чтоб не обявлять глобальную переменную v.

Код преобразования десятичного числа в двоичное.

int v[9]={0};
int DecToBin(int N){//-----
int i=0;
      while(N!=0){
        v[8-i]=N%2;
      N=N>>1;
i++;
}
//-----
}
Если-бы люди не придумывали новый велик то тогда бы автомобилей не было!

Led

Сообщений: 1
Откуда: ua
#2   26.05.10 20:10          
Точно не подскажу, но попробуй посмотреть в этой книге http://crypto.net.ua/biblioteka/programmirovanie/c-objektno-orientirovannoe-programmirovanie-praktikum

Sylk

Сообщений: 6
Откуда: ua
Род занятий: Sylk
#3   27.05.10 15:35          
Если кому-то интересно. Пока нашел такое решение:
string DecToBin(int N)
{
    string s;
    while (N)
    {
        s.insert(s.begin(), (N%2 ? '1' : '0'));
        N = N >> 1;
    }
    return s;
}
 
int main()
{
    cout << DecToBin(2549) << endl;
    return 0;
}
Если-бы люди не придумывали новый велик то тогда бы автомобилей не было!

Sylk

Сообщений: 6
Откуда: ua
Род занятий: Sylk
#4   30.05.10 10:37          
void DecToBin(int N, vector<int> &Out)
{
    while (N)
    {
        Out.insert(Out.begin(), (N%2 ? 1 : 0));
        N = N >> 1;
    }
}
 
int main()
{
    vector<int> bin;
    DecToBin(54681, bin);
    int k;
    k=bin.size();
    for (int i = 0; i < k; i++)
        cout << bin[i];
    return 0;
}
Если-бы люди не придумывали новый велик то тогда бы автомобилей не было!

Теги