1 / 1 / 0
Регистрация: 01.02.2011
Сообщений: 68
|
||||||
1 | ||||||
Переместить нулевые элементы в конец массива11.02.2011, 08:46. Показов 24344. Ответов 10
Метки нет (Все метки)
Добрый день! Я уже к вам за помощью обращалась и вот пишу в очередной раз. Пишу код программы, но программма отказывается его выполнять так как имеются ошибки в коде. Задача состоит в следующем: имеется одномерный массив. Все элементы, равные нулю, нужно переместить в конец массива. У меня получается вот такая программа, но она не работает:
0
|
11.02.2011, 08:46 | |
Ответы с готовыми решениями:
10
одномерный массив. Все его элементы, не равные нулю, переписать, сохраняя их порядок в начало массива, а нулевые элементы в конец массива in c++ Переместить нулевые элементы в начало массива Нулевые элементы переместить в начало массива Поместить нулевые элементы в конец массива |
134 / 87 / 22
Регистрация: 28.08.2009
Сообщений: 363
|
||||||
11.02.2011, 09:04 | 2 | |||||
скобочки пропустила)
а вообще логика не та, если нужно решение, пиши
1
|
1 / 1 / 0
Регистрация: 01.02.2011
Сообщений: 68
|
|
11.02.2011, 09:07 [ТС] | 3 |
Напишите тогда, пожалуйста, своё решение.
0
|
134 / 87 / 22
Регистрация: 28.08.2009
Сообщений: 363
|
||||||
11.02.2011, 09:11 | 4 | |||||
0
|
302 / 160 / 62
Регистрация: 27.02.2010
Сообщений: 317
|
||||||
11.02.2011, 09:31 | 5 | |||||
Maruna, А если два подряд идущих 0, что тогда ?
1
|
134 / 87 / 22
Регистрация: 28.08.2009
Сообщений: 363
|
|
11.02.2011, 09:46 | 6 |
ага, недоглядела
0
|
Заблокирован
|
||||||
11.02.2011, 09:56 | 7 | |||||
Я ни на что не претендую но думаю мой код наиболее прост и оптимален для решения данной задачи!
Ishodni massiv mas[0] = 0 mas[1] = 4 mas[2] = 8 mas[3] = 3 mas[4] = 4 mas[5] = 1 mas[6] = 7 mas[7] = 2 mas[8] = 7 mas[9] = 8 mas[10] = 6 mas[11] = 6 mas[12] = 8 mas[13] = 3 mas[14] = 1 mas[15] = 1 mas[16] = 2 mas[17] = 8 mas[18] = 8 mas[19] = 3 Preobrazovanni massiv mas[0] = 3 mas[1] = 4 mas[2] = 8 mas[3] = 3 mas[4] = 4 mas[5] = 1 mas[6] = 7 mas[7] = 2 mas[8] = 7 mas[9] = 8 mas[10] = 6 mas[11] = 6 mas[12] = 8 mas[13] = 3 mas[14] = 1 mas[15] = 1 mas[16] = 2 mas[17] = 8 mas[18] = 8 mas[19] = 0 Vvedite luboe chislo dlya prodlzhenia
0
|
11.02.2011, 15:00 | 8 | |||||
0
|
1 / 1 / 0
Регистрация: 01.02.2011
Сообщений: 68
|
|
11.02.2011, 20:53 [ТС] | 9 |
Спасибо огромное ребята! Даже не думала, что эта тема так вам понравиться! Ещё раз спасибо!
0
|
1 / 1 / 0
Регистрация: 01.02.2011
Сообщений: 68
|
||||||
25.05.2011, 20:38 [ТС] | 10 | |||||
Ещё раз здравствуйте! Почему то преподавателю не нравиться коды, которые вы высылали. Она объяснила, что алгоритм должен быть такой: если встречается элемент равный 0, то мы все элементы идущие после него сдвигаем на одну позицию влево. А потом когда у нас в конце списка останутся пустые элементы массива, то мы на их места должны записать нули. Я написала код программы, но она опять не зачла. Вот код (привожу только часть смещения и замены элементов):
0
|
134 / 87 / 22
Регистрация: 28.08.2009
Сообщений: 363
|
||||||
26.05.2011, 02:37 | 11 | |||||
вот мой вариант
0
|
26.05.2011, 02:37 | |
26.05.2011, 02:37 | |
Помогаю со студенческими работами здесь
11
В одномерном массиве все нулевые элементы переместить в начало массива В каждой строке все элементы, не равные нулю, переписать в начало строки, а нулевые элементы – в конец массива Отрицательные элементы массива переместить в конец Переместить максимальные элементы в конец массива Перенести нулевые элементы в конец массива (исправить ошибку) Преобразовать массив, переставив все нулевые элементы в конец массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |