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

Дозаполнение матрицы нулями до размера, являющегося степенью двойки - C++

Восстановить пароль Регистрация
 
bolshakovinka
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 15
09.12.2012, 15:35     Дозаполнение матрицы нулями до размера, являющегося степенью двойки #1
Напишите пожалуйста алгоритм дозаполнения матрицы нулями до размера,который является степенью двойки!То есть если размер матрицы не является степенью двойки то нужно матрицу дозаполнить нулями,чтобы в итоге ее размер являлся степенью двойки(2 4 8 16 32.....1024.... и т.д)..Заранее благодарен..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 15:35     Дозаполнение матрицы нулями до размера, являющегося степенью двойки
Посмотрите здесь:

C++ Определить, является ли данное число степенью двойки
C++ Выведите YES, если число N является точной степенью двойки, или NO в противном случае.(Рекурсия)
Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно степенью двойки C++
Вводится число. Определить, является ли оно степенью двойки. C++
C++ Степень двойки для отражения размера памяти
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2012, 15:51     Дозаполнение матрицы нулями до размера, являющегося степенью двойки #2
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
#include <vector>
//......
 
 
    vector<int>arr;
    int tmp=0,tmp1=0;
    arr.push_back(1);
    arr.push_back(2);
    arr.push_back(1);
    arr.push_back(2);
    arr.push_back(2);
 
    for(int i=0;i<10;i++)
    {
            if(arr.size()<=pow(2.,i)){tmp=i;break;}
        
    }
 
    cout << tmp << " ";
    tmp1 = arr.size();
    for(int i=tmp1;i<pow(2.,tmp);i++)
    {
        arr.push_back(0);
    }
    cout << arr.size() << "\n";
    for(int i=0;i<pow(2.,tmp);i++)
        cout << arr[i] << " ";
bolshakovinka
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 15
09.12.2012, 16:20  [ТС]     Дозаполнение матрицы нулями до размера, являющегося степенью двойки #3
Забыл сказать.Я новичок в C++. поэтому мне бы какой нибудь простенький код бы...а то не могу разобраться что написано..что такое arr что такое push.Обязательно таак реализовывать?Библиотеку еще подключать?Или можно проще?
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
10.12.2012, 09:28     Дозаполнение матрицы нулями до размера, являющегося степенью двойки #4
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
#include <iostream>
using namespace std;
 
int main()
{
    int arr[2000];//arr - this is Array
    int size = 20;//initial number of elements in the array.
    int tmp = 0;
    for(int i=0;i<size;i++)
        arr[i]=i+1;
 
    for(int i=0;i<10;i++)
    {
            if(size<=pow(2.,i)){tmp=i;break;}
        
    }
 
    cout << tmp << " = Up to what power of two, you need to fill the array.\n";
    for(int i=size;i<pow(2.,tmp);i++)
    {
        arr[i]=0;
    }
   
    for(int i=0;i<pow(2.,tmp);i++)
        cout << arr[i] << " ";
 
    cin.get();
}
Yandex
Объявления
10.12.2012, 09:28     Дозаполнение матрицы нулями до размера, являющегося степенью двойки
Ответ Создать тему
Опции темы

Текущее время: 14:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru