Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kirillgo
0 / 0 / 0
Регистрация: 01.08.2015
Сообщений: 30
#1

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

16.01.2016, 14:19. Просмотров 441. Ответов 4
Метки нет (Все метки)

Здравствуйте!Условие задачи таково:
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. Используйте тэги форматирования текста для удобства восприятия ваших сообщений другими пользователями.
Убедительная просьба, не игнорировать это сообщение и ознакомиться с правилами, а так же с мини-гайдами по использованию тэгов и рекомендациями по именованию тем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2016, 14:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Из заданного массива удалить элемент с указанным индексом (C++):

Удалить первый элемент с заданным объемом информации, добавить элемент перед элементом с указанным номером - C++
Структура &quot;Информация&quot;: - носитель; - объем; - название; - автор. Удалить первый элемент с заданным объемом информации, добавить...

Сформировать двунаправленный список. Удалить из него элемент с заданным ключом, добавить элемент с указанным номером - C++
Записи в линейном списке содержат ключевое поле типа *char(строка символов). Сформировать двунаправленный список. Удалить из него элемент с...

Удалить максимальный элемент заданного массива - C++
Что-то башка вообще не варит, направьте на путь истинный Собсна, задание: 1. Удалить макс элемент; 2. Добавить N элементов, начиная с...

Доработка структуры (удалить первый элемент с заданным объемом информации, добавить элемент перед элементом с указанным номером) - C++
//--------------------------------------------------------------------------- ЗАДАНИЕ:Создать двоичный файл из элементов , заданных...

Массив: Удалить строки заданного массива, в которых есть хотя бы один особый элемент - C++
Здравствуйте. Я только начал постигать язык С++ и остановился на одной задачи и не могу сдвинуться с места... Прочёл в 2-х книгах про...

Заменить каждый неположительный элемент массива Х абсолютной величиной элемента массива Y с тем же индексом - C++
Добрый день. Нужно решить задачку: Заменить каждый неположительный элемент массива Х абсолютной величиной имеющего тот же номер элемента...

4
zer0mail
2368 / 1998 / 199
Регистрация: 03.07.2012
Сообщений: 7,186
Записей в блоге: 1
16.01.2016, 14:56 #2
1. Форматируй код
2а. Создавай массив "с запасом", т.е. для массива начальной длины N зарезервируй памяти 2*N, тогда сможешь раздвинуть.
2б. Создавай новый массив и копируй в него данные из исходного+вставленные
1
antonboom
bmstu-team
301 / 136 / 56
Регистрация: 10.01.2012
Сообщений: 420
Записей в блоге: 10
16.01.2016, 15:01 #3
Будьте добры оформлять код в соответствующие теги, спасибо
1. Используйте динамическое выделение памяти или возьмите константу N побольше, а то добавление чревато выходом за пределы массива
2. Прохожу по массиву. Если элемент четный (величина индекс элемента + 1, деленная на 2 не дает остатка), то увеличиваю размер массива на 1. И сдвигаю все элементы после текущего вправо: цикл от следующего элемента и до конца A[i + 1] = A[i]. На место следующего вставляю 0.
Вы просили разъяснить. Использовать вектора или нет, это уже на ваш вкус.
1
Alexander Bakay
100 / 52 / 16
Регистрация: 15.12.2015
Сообщений: 318
Завершенные тесты: 2
16.01.2016, 17:45 #4
Как один из простейших вариантов(если вам можно будет сделать данную манипуляцию): создать второй массив, и уже после действия №3 заполнять его числами с первого, но при встрече четного элемента на i+1 место вставить 0
0
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"
1
16.01.2016, 18:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2016, 18:09
Привет! Вот еще темы с ответами:

Указатели . Удалить из одномерного массива элемент с заданным номером, добавить К элементов, начиная с заданного номера - C++
Сформировать одномерный массив. Удалить из него элемент с заданным номером, добавить К элементов, начиная с заданного номера

Извлечь элемент из массива рандомным индексом - C++
Привет. Есть массив, задача в том, чтобы извлечь из массива элемент рандомным индексом, но чтобы позже не допустить получение этого же...

найти максимальный элемент массива x(15) . переставить местами этот максимальный элемент с индексом 4 - C++
поможете с курсовым ?

Замените минимальный элемент массива его удвоенным индексом - C++
Замените минимальный элемент массива А его удвоенным индексом. C++ Попробовал НЕ ПОЛУЧИЛОСЬ((( Добавлено через 1 минуту ...


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

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

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