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

Из заданного массива удалить элемент с указанным индексом - C++

Восстановить пароль Регистрация
 
Kirillgo
0 / 0 / 0
Регистрация: 01.08.2015
Сообщений: 30
16.01.2016, 14:19     Из заданного массива удалить элемент с указанным индексом #1
Здравствуйте!Условие задачи таково:
1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел.
2) Распечатать полученный массив.
3) Удалить элемент с номером К.
4) Добавить после каждого четного элемента массива элемент со значением 0.
5) Распечатать полученный массив.

Дело в том,что я сделал первые три пункта,но совершенно не представляю,как сделать 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
#include<iostream>
#include<cstdlib>
#include<time.h>
#include<clocale>
 
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE , "rus");
    const int N = 5;
    int Array[N];
    cout<<"Формируем одномерный массив, используя датчик случайных чисел:\n"<<endl;
    srand(time(NULL));
    for(int i  = 0; i < N; i++)
    {
        Array[i] = rand()%6;
        cout<<"Massive ["<<i<<"] = "<< Array[i]<< endl;
    }
 
 
     cout<<"Удаляем элемент массива под номером K:\n"<< endl;
    int Array1[N];
    int k = 0;
     for(int i = 0; i < N; i++)
     {
         Array[i] = Array1[i + 1];
         cout<<"Massive 1 ["<<i<<"] = "<< Array1[i+1] << endl;
     }
     k++;
P.S. Только пожалуйста,без векторов,ибо я их еще не проходил.Спасибо.

 Комментарий модератора 

Kirillgo!

Вы уже были предупреждены ранее в ЛС, но продолжаете нарушать правила форума:
П. 4.3. Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на Ваш вопрос ответят.
П. 4.9. Используйте тэги форматирования текста для удобства восприятия ваших сообщений другими пользователями.
Убедительная просьба, не игнорировать это сообщение и ознакомиться с правилами, а так же с мини-гайдами по использованию тэгов и рекомендациями по именованию тем.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2016, 14:19     Из заданного массива удалить элемент с указанным индексом
Посмотрите здесь:

C++ Добавить после элемента массива с заданным индексом элемент со значением 100
Извлечь элемент из массива рандомным индексом C++
C++ Удалить из списка элемент с заданным номером и добавить элементфы, начиная с заданного номера.
C++ Сформировать одномерный массив. Удалить из него К элементов, начиная с заданного номера, добавить элемент с заданным ключом
C++ Перед указанным элементом массива вставить новый элемент
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2185 / 1868 / 187
Регистрация: 03.07.2012
Сообщений: 6,640
Записей в блоге: 1
16.01.2016, 14:56     Из заданного массива удалить элемент с указанным индексом #2
1. Форматируй код
2а. Создавай массив "с запасом", т.е. для массива начальной длины N зарезервируй памяти 2*N, тогда сможешь раздвинуть.
2б. Создавай новый массив и копируй в него данные из исходного+вставленные
antonboom
bmstu-team
 Аватар для antonboom
301 / 136 / 56
Регистрация: 10.01.2012
Сообщений: 419
Записей в блоге: 10
16.01.2016, 15:01     Из заданного массива удалить элемент с указанным индексом #3
Будьте добры оформлять код в соответствующие теги, спасибо
1. Используйте динамическое выделение памяти или возьмите константу N побольше, а то добавление чревато выходом за пределы массива
2. Прохожу по массиву. Если элемент четный (величина индекс элемента + 1, деленная на 2 не дает остатка), то увеличиваю размер массива на 1. И сдвигаю все элементы после текущего вправо: цикл от следующего элемента и до конца A[i + 1] = A[i]. На место следующего вставляю 0.
Вы просили разъяснить. Использовать вектора или нет, это уже на ваш вкус.
Alexander Bakay
 Аватар для Alexander Bakay
97 / 49 / 15
Регистрация: 15.12.2015
Сообщений: 246
Завершенные тесты: 1
16.01.2016, 17:45     Из заданного массива удалить элемент с указанным индексом #4
Как один из простейших вариантов(если вам можно будет сделать данную манипуляцию): создать второй массив, и уже после действия №3 заполнять его числами с первого, но при встрече четного элемента на i+1 место вставить 0
Termit779
 Аватар для Termit779
44 / 29 / 10
Регистрация: 22.11.2015
Сообщений: 98
16.01.2016, 18:09     Из заданного массива удалить элемент с указанным индексом #5
Если не можешь победить противника - обмани его

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include<time.h>
#include<cstdlib>
using namespace std;
 
 
int main() {
        setlocale(LC_CTYPE, "rus");
        const int N = 5;
        int Array[N] = {2,6,8,9,3};
        for (int i = 0; i < N; i++)
        {
            cout << Array[i] << " ";
            if (Array[i] % 2 == 0)
            {
                cout << 0 << " ";
            }
        }
        cout << endl;
        system("pause");
}
В задании не указано ЯВНО , что нужно добавить элемент массива. Сказано "добавить элемент со значением 0"
Yandex
Объявления
16.01.2016, 18:09     Из заданного массива удалить элемент с указанным индексом
Ответ Создать тему
Опции темы

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