1 / 1 / 0
Регистрация: 17.03.2018
Сообщений: 26
1

Вставить перед каждым элементом массива элемент с нулевым значением

12.04.2018, 12:04. Показов 4811. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан целочисленный массив размера N. Вставить перед каждым его элементом элемент с нулевым значением.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2018, 12:04
Ответы с готовыми решениями:

Перед каждым положительным элементом массива вставить элемент с нулевым значением
Дан массив размера N. Перед каждым положительным элементом массива вставить элемент с нулевым...

Перед каждым положительным элементом массива вставить элемент с нулевым значением
Дан массив размера N. Перед каждым положительным элементом массива вставить элемент с нулевым...

Перед каждым положительным элементом массива вставить элемент с нулевым значением, перезаписать эти элементы во второй массив
Условие: дано массив размера N. Перед каждым положительным элементом массива вставить элемент с...

Перед каждым положительным значением массива вставить элемент с нулевым значением
Дан массив размера N. Перед каждым положительным значением массива вставить элемент с нулевым...

2
392 / 262 / 193
Регистрация: 02.05.2017
Сообщений: 1,003
14.04.2018, 04:27 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
#include <iostream>
#include <vector>
#include <ctime>
 
using namespace std;
 
int main(){
    srand(time(0));
 
    int size(0),counter(0);
    cout << "Enter size : ";
    cin >> size;
 
    int * arr = new int[size];
    int * arr_new = new int[size*2];
    for(int i = 0;i<size;++i){
        arr[i] = rand() % 16+1;
        cout << arr[i] << " ";
    }
    cout << "\n";
    bool count(0);
    for(int i = 0;i<size*2;++i){
        if(!count){
            arr_new[i] = 0;
            count = 1;
        } else {
            arr_new[i] = arr[counter++];
            count = 0;
        }
        cout << arr_new[i] << " ";
    }
    delete[]arr;
    delete[]arr_new;
 
    cout << endl;
    return 0;
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
14.04.2018, 14:32 3
Лучший ответ Сообщение было отмечено vavun как решение

Решение

LegionK, по условию задачи не создать новый массив, а преобразовать исходный:

Sportyk,

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
#include <iostream>
#include <ctime> 
using namespace std;
 
int main()
{
    srand((int)time(0));
 
    int N;
    cout <<"N="; cin >>N;
 
    int *a = new int[N];
    int *b = new int[2*N];
    for(int i = 0; i<N; i++){
        a[i] = rand() %9+1;
        cout << a[i] << " ";
    }
    cout << endl;
    
    for(int i = 0; i<N; i++){
    b[2*i]=0;  
    b[2*i+1]=a[i];
    }
    delete[]a;
    
    a=b;
    
    for(int i = 0; i<2*N; i++)
    cout << a[i]<< " ";    
    cout << endl;
    
    delete[]a;       
system("pause");    
return 0;
}
Добавлено через 37 минут
для компактности циклы можно объединить:

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
#include <iostream>
#include <ctime> 
using namespace std;
 
int main()
{
    srand((int)time(0));
 
    int N;
    cout <<"N="; cin >>N;
 
    int *a = new int[N];
    int *b = new int[2*N];
    for(int i = 0; i<N; i++){
    a[i] = rand() %9+1;
    b[2*i]=0;  
    b[2*i+1]=a[i];
    cout << a[i] << " ";    
    }
    cout << endl;    
  
    delete[]a;
    
    a=b;
    
    for(int i = 0; i<2*N; i++)
    cout << a[i]<< " ";    
    cout << endl;
    
    delete[]a;       
system("pause");    
return 0;
}
0
14.04.2018, 14:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2018, 14:32
Помогаю со студенческими работами здесь

Перед каждым положительным элемент массива вставить элемент с нулевым значением
6)Дан массив размера N. Перед каждым положительным элемент массива вставить элемент с нулевым...

Перед элементом массива с порядковым номером K вставить новый элемент с нулевым значением
Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элементом массива с порядковым номером K...

Функция, которая вставляет перед каждым отрицательным элементом элемент с нулевым значением
Есть двумерный динамический массив (матрица). Нужно написать функцию, которая вставляет перед...

Добавить перед каждым четным элементом массива элемент со значением 0
1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2) Распечатать...


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

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

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