С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Alexander273
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 13
1

Работа с одномерными массивами: вставка, удаление

27.01.2015, 22:31. Просмотров 297. Ответов 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
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
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <ctime>
using namespace std;
 
int main()
{
 
            SetConsoleCP(1251);
            SetConsoleOutputCP(1251);
 
srand(time(0));
 
int n, n1;
cout << "Введите длинну массива:"; cin >> n;
 
int nArrayOfInt[n];
int* pArrayOfInt=nArrayOfInt;
n1=n;
for (int i=1; i<=n; i++)
{
    nArrayOfInt[0]=0;
    nArrayOfInt[i]=1+rand()%200;
    cout << "Элемент[" << i << "]=" << nArrayOfInt[i] << ";  \n";
    if (nArrayOfInt[i]%2==0) n1+=1;
}
int k;
 
cout << "\n\n\nВведине номер элемента, который хотите удалить (но не больше " << n <<"):"; cin >>k;
 
if (k>n) cout << "Введен неправильный элемент!";
 
else
    {
        nArrayOfInt[k]=0;
        for (int i=1; i<=n; i++)
            {
                cout << "Элемент[" << i << "]=" << nArrayOfInt[i] << ";  \n";
            }
    }
 
int nArrayOfInt1[n1];
nArrayOfInt1[0]=0;
int ii1=0, ii2=0;
for (int ii=1; ii<=n1; ii++,pArrayOfInt++)
{
 
}
cout << "\n\n\n";
 
 
    return 0;
}
вот что есть а надо в идеале...

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

проблема в том что не могу сделать так чтоб после каждого четного ставился ноль и все смещалось на 1 элемент вправо... я чего то недопонимаю
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2015, 22:31
Ответы с готовыми решениями:

Работа с одномерными массивами: удаление, добавление, перестановка элементов
1) Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с...

Работа с одномерными массивами: удаление, добавление, перестановка элементов
1) Сформировать массив из n элементов с помощью датчика случайных чисел (n задается пользователем с...

Работа с одномерными массивами
Может кто-то сможет помочь .. В одномерном массиве ,который состоит из 15 действительных элементов...

Работа с одномерными массивами
Если в массиве отсутствуют нули, найти произведение его элементов. Затем циклически сдвинуть четные...

Работа с одномерными массивами
1) массивы должны быть динамические – организовать вы-деление памяти; 2) значения элементов...

4
OlegKri
26 / 25 / 8
Регистрация: 19.01.2015
Сообщений: 84
27.01.2015, 23:14 2
используй контейнер <vector> и не парься)
0
Alexander273
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 13
27.01.2015, 23:19  [ТС] 3
Спасибо) но я еще не обладаю такими количествами знаний) просто задали вот и делаю как задали)
0
Prorok2323
169 / 127 / 74
Регистрация: 04.12.2013
Сообщений: 550
27.01.2015, 23:52 4
Alexander273, ща сделаю. В идеале.

Добавлено через 19 минут
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
int main() {
    
    int n, d;
    cout << "Введите длину массива:\n";
    cin >> n;
    int *array = new int[n];
    for (unsigned i = 0; i < n; i++) {
        array[i] = rand() % 50;
        cout << "Элемент [" << i << "] = " << array[i] << endl;
    }
    
    cout << "Элемент с каким индексом хотите удалить?" << endl;
    cin >> d;
    int *array2 = new int[--n];
    for (unsigned i = 0, k = 0; i < n; i++, k++) {
        if (i != d) array2[i] = array[k];
        else array2[i] = array[++k];
    }
    delete [] array;
 
    for (unsigned i = 0; i < n; i++)
        cout << "Элемент [" << i << "] = " << array2[i] << endl;
 
    for (unsigned i = 0; i < n; i++) {
        if (!(array2[i] % 2)) {
            array = new int[++n];
            for (unsigned b = 0, c = 0; b < n; b++, c++) {
                if (b == i + 1) {
                    array[b] = 0;
                    c--;
                } else array[b] = array2[c];
            }
            i++;
            delete [] array2;
            array2 = array;
        }
    }
    cout << "==========" << endl;
    for (unsigned i = 0; i < n; i++)
        cout << "Элемент [" << i << "] = " << array2[i] << endl;
    delete [] array2;
    return 0;
}
1
Alexander273
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 13
28.01.2015, 08:56  [ТС] 5
спасибо) пошел разбираться)

Добавлено через 3 часа 14 минут
вот честно не имею ни малейшего понятия что такое new и как им пользоваться)
0
28.01.2015, 08:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2015, 08:56

Работа с одномерными массивами с использованием процедур
Работа с одномерными массивами с использованием процедур Каждый пункт задания оформить в виде...

Работа с одномерными массивами. Коротышки собирали огурцы
Здравствуйте.Не могу понять, почему неправильно считает число максимумов и остаток.Помогите! Сама...

Работа с текстовой информацией, одномерными массивами и матрицами.
Здравствуйте... Помогите решить задачу... Отблагадарю))) 2. Имеется N населенных пунктов (N≤15),...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru