Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 61
1

Перенос элементов из статического массива в динамический

02.04.2016, 14:35. Показов 2270. Ответов 3
Метки нет (Все метки)

Народ помогите плз. есть задача, которую я почти сам решил, но проблема в том что не до конца.
вот сама задача:
Создать статический массив на 10 элементов и заполнить его случайными
числами из диапазона [0;5]. Подсчитать количество элементов не равных нулю.
Создать динамический массив соответствующего размера и скопировать в него
все ненулевые элементы.
Вот мое решение:
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
#include <iostream>
#include <Windows.h>
#include <ctime>
#include <iomanip>
using namespace std;
void main()
{
    //Задача №2
    SetConsoleOutputCP(1251);
    srand((unsigned)time(NULL));
    const int N = 10;
    int mas[N];
    int num = 0;
    int *mass = new int[num];
    cout << " Вывод статического массива:" <<endl;
    for (int i = 0; i < N; i++)
    {
        
        mas[i] = rand() % 6;;
        cout << i << " = " << mas[i] << endl;
    }
    cout << endl;
    cout << endl;
    
 
    
    for (int i = 0; i < N; i++)
    {
        
        if (mas[i] != 0)
        {
            num++;
            mass[i] = mas[i];
            
        }
 
        
    }
    cout << " Количество не нулевых элементов = " <<num << endl;
    
    for (int i = 0; i < num; i++)
    {
        cout << i << " = " << mass[i] << endl;
    }
    
     
    проблема в том, если ноль в середине массива, то при копировании в динамический массив он превращается в муссор
 
 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2016, 14:35
Ответы с готовыми решениями:

Из статического массива в динамический
Здравствуйте . Помогите , пожалуйста , переделать эту программу(сортировку) , чтобы она работала с...

Из статического массива в динамический
Дана матрица А (10х10). Отсортировать элементы, лежащие на главной диагонали, в порядке...

Замена статического массива на динамический
Здравствуйте. Есть код программы по переводу из десятичной в двоичную. В ней используется...

Перевод статического массива в динамический
Данная программа работает, но ее необходимо переделать под динамический массив. НЕ НАДО менять библ...

3
Модератор
Эксперт С++
11484 / 9401 / 5650
Регистрация: 18.12.2011
Сообщений: 25,114
02.04.2016, 14:46 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <Windows.h>
#include <ctime>
using namespace std;
int main()
{
    //Задача №2
    SetConsoleOutputCP(1251);
    srand((unsigned)time(NULL));
    const int N = 10;
    int mas[N];
    cout << " Вывод статического массива:" <<endl;
    for (int i = 0; i < N; i++)
    {
        
        mas[i] = rand() % 6;;
        cout << i << " = " << mas[i] << endl;
    }
    cout << endl<< endl;
    int num = 0;
    for (int i = 0; i < N; i++)
    {
        
        if (mas[i] != 0)
            num++;
    }
    cout << " Количество ненулевых элементов = " <<num << endl;
    
    int* mass=new int[num];
    int j=0;
    for (int i = 0; i < N; i++)
    {
        if(mas[i]!=0)
            mass[j++]=mas[i];
    }
    
    for (int i = 0; i < num; i++)
        cout << i << " = " << mass[i] << endl;
    delete[] mass;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 19.02.2016
Сообщений: 61
02.04.2016, 14:56  [ТС] 3
Спасибо Вам большое!!!!
0
17 / 17 / 16
Регистрация: 17.08.2015
Сообщений: 125
02.04.2016, 15:26 4
Так проще , вроде
c 27 строки кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    for (int i = 0, j=0; i < N; i++)
    {
 
        if (mas[i] != 0)
        {
 
            mass[j] = mas[i];
            num++;
            j++;
 
        }
 
 
    }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2016, 15:26

Изменение статического массива на динамический
Помогите заменить в коде статический массив на динамический #include &lt;stdio.h&gt; #include...

Перевод из статического массива в динамический. (двумерный)
как это сделать? или кто может - сразу, код: #include &lt;iostream.h&gt; #include &lt;iomanip.h&gt;...

Из статического массива вывести элементы в динамический
Дан статический массив, вывести в динамически массив элементы, которые больше -10 и меньше 20 var...

Преобразование одномерного статического массива в одномерный динамический
Задача была такая: захэшировать (зашифровать) каким-либо способом строки из файла. Сделал,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru