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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Kokocikful
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
#1

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

07.06.2013, 16:59. Просмотров 1386. Ответов 7
Метки нет (Все метки)

Дан массив размера N. Перед каждым положительным значением массива вставить элемент с нулевым значением.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 16:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перед каждым положительным значением массива вставить элемент с нулевым значением (C++):

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

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

Вставить перед каждой серией массива элемент с нулевым значением. - C++
Дан целочисленный массив размера N. Вставить перед каждой его серией элемент с нулевым значением. Назовем серией группу подряд идущих...

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

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

Перед каждым положительным элементом массива вставить нулевой элемент - C++
Задан вещественный массив размера N. Перед каждым положительным элементом массива вставить нулевой элемент. Под удалением элементов из...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Expocooky
56 / 56 / 2
Регистрация: 06.06.2013
Сообщений: 112
07.06.2013, 17:28 #2
Если массив заполнен, больше элементов туда не добавишь
0
MikeSoft
Эксперт С++
3799 / 1775 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
07.06.2013, 18:07 #3
Цитата Сообщение от Expocooky Посмотреть сообщение
Если массив заполнен, больше элементов туда не добавишь
Но ведь никто не запрещает создать массив нужной величины и скопировать туда исходный с нужными правками.
По сути, простое решение:
1. От начала до конца пройтись по массиву N, проверяя и инкрементируя счетчик положительных элементов (С).
2. Выделить память под новый массив M размерностью С.
3. От начала до конца пройтись по массиву N, проверяя текущий элемент. Если значение положительное - записать "0" и значение в массив C, увеличить итератор для массива C. Если отрицательное - просто скопировать и увеличить итератор.

Реализовывайте. Будут сложности - помогу.
0
Expocooky
56 / 56 / 2
Регистрация: 06.06.2013
Сообщений: 112
07.06.2013, 18:26 #4
Цитата Сообщение от MikeSoft Посмотреть сообщение
Но ведь никто не запрещает создать массив нужной величины и скопировать туда исходный с нужными правками.
Судя по сообщению автора, он собирается добавлять элементы именно в исходный массив либо просто не понимает задания.
С вашим решением согласен
0
MikeSoft
Эксперт С++
3799 / 1775 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
07.06.2013, 18:30 #5
Цитата Сообщение от Expocooky Посмотреть сообщение
Судя по сообщению автора, он собирается добавлять элементы именно в исходный массив либо просто не понимает задания.
Либо использует связные списки. Но в любом случае, согласен, уточнения по заданию явно не помешают.
0
Kokocikful
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 24
07.06.2013, 21:31  [ТС] #6
Добавлено через 22 секунды
MikeSoft, Сказали, что нужно создать второй массив, и уже туда скинуть все. Можно хотяб примерный код этого, с комментами если, не сложно, не знаю как переместить во второй массив

Добавлено через 1 час 0 минут
Expocooky, Сказали, что нужно создать второй массив, и уже туда скинуть все. Можно хотяб примерный код этого, с комментами если, не сложно, не знаю как переместить во второй массив
0
sm1992
2 / 2 / 0
Регистрация: 27.05.2013
Сообщений: 8
07.06.2013, 23:05 #7
если я правильно понял то обработка будет выглядеть примерно так
C++
1
2
3
for(int i=1;i<n;i++)
if (mas[i]>0)
mas[i-1]=0;
0
MikeSoft
Эксперт С++
3799 / 1775 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
09.06.2013, 15:00 #8
Цитата Сообщение от Kokocikful Посмотреть сообщение
не знаю как переместить во второй массив
Перемещение, в вашем случае, - это обычное присваивание.
C++
1
m[i] = n[j];
m - созданный вами массив.
n - исходный массив
i, j - индексы элементов.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2013, 15:00
Привет! Вот еще темы с ответами:

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

Вставить после каждой серии массива элемент с нулевым значением - C++
Привет всем. Нужна помощь в решении такой задачи: &quot;Дан целочисленный массив размера N. Вставить после каждой его серии элемент с нулевым...

Перед каждым вторым отрицательным значением в массиве вставить нулевое значение - C++
Дан вещественный массив. Перед каждым вторым отрицательным значением в вещественном массиве вставить нулевое значение.

Однонаправленный связанный список (Вставить новый узел с нулевым значением перед первым отрицательным элементом...) - C++
Помогите выполнить задание: Тип информационной части узла списка - INT Вид списка - Однонаправленный связанный список ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.06.2013, 15:00
Ответ Создать тему
Опции темы

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