0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 10
|
||||||
1 | ||||||
Указатели, массивы. Не могу разобраться07.11.2009, 14:11. Показов 2091. Ответов 18
Метки нет (Все метки)
Перелопатил весь инет, так не смог разобраться (((
Вот общее задание, ято бы было понятно: Объявить массив целых чисел и заполнить его случайными значениями. Диапазон значений его элементов заданы в Вашем варианте индивидуального задания. В индивидуальных заданиях указано также, какую обработку массива следует произвести. Дополнительные условия: • размер массива определяется в начале выполнения программы как случайное число в диапазоне 50 - 200; • в тексте программы запрещается применять операцию индексации. Мой вариант: Разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными значениями - в правой, а нули - между ними. Диапазон значений: -100 - 100 Я понял, что все сводится к тому что надо отсортировать массив. Но как это сделать в моей ситуации Я не понимаю. Вот что Я смог написать пока что.
0
|
07.11.2009, 14:11 | |
Ответы с готовыми решениями:
18
Не могу разобраться с кодом (Указатели) массивы.не могу разобраться Массивы/списки, не могу разобраться как их создавать Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать |
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
|
|
07.11.2009, 14:28 | 2 |
Разбиваешь массив на 3 маленьких.Через указатель.
Потом Сначало заганяешь в исходный 1 маленький с пол.числами,потом нули и т.д.
0
|
анимешник++
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
|
|
07.11.2009, 14:33 | 3 |
правильно подмечено.
Сравниваешь число, например на принадлежность к отрицанию - если да - записываешь в массив с отрицательными числами, если нет - сравниваешь на принадлежность к положительным - если да - записываешь в массив с положительными числами, если нет - в массив с нулями, а потом по очереди выводищь эти 3 массива.
1
|
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 10
|
|
07.11.2009, 15:27 [ТС] | 4 |
Не знаю как разбить массив на 3 маленьких Через указатель, можешь пример дать.
З.Ы. Как сделаю, всем кто помог, спасибо будет! Добавлено через 42 минуты И Я вообще не могу понять как в динамическом массиве это делается... Принцип Iworb понял.
0
|
анимешник++
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
|
|||||||||||
07.11.2009, 17:32 | 5 | ||||||||||
Добавлено через 40 секунд P.S. в данном случае m - это size Добавлено через 2 минуты З.Ы. писал не в лучшем состояние, так что если не работает - тапками не кидаться. Добавлено через 1 минуту попробую укоротить код Добавлено через 1 минуту
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
07.11.2009, 17:33 | 6 |
michaelk,
0
|
8 / 8 / 5
Регистрация: 30.05.2009
Сообщений: 47
|
||||||
07.11.2009, 17:43 | 7 | |||||
0
|
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 10
|
||||||
07.11.2009, 18:10 [ТС] | 8 | |||||
Iworb
Я конечно не понял как твой код работает... но вставил его. И последний вопрос как правильно вывести массив, а как я написал, оно выводит какието странные числа и больше чем нужно... Вот весь код:
SONNY Вообще ничего не понял.
0
|
анимешник++
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
|
|||||||||||
07.11.2009, 18:31 | 9 | ||||||||||
Добавлено через 5 минут З.Ы. просто исправил код, чтобы ты понял мою идею. На работоспособность не проверял ибо у меня стоит Turbo C, а там нет смысла о чем то подобном говорить - он консольный... Добавлено через 5 минут
Добавлено через 1 минуту хотя не уверен что это то. с указателями лично мне внутри mainа работать неудобно, обычно через функции работу с указателями делаю.
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
07.11.2009, 18:43 | 10 | |||||
0
|
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 10
|
||||||
07.11.2009, 19:05 [ТС] | 11 | |||||
Iworb
Первый Твой вариант вообще повисло, второй подход выдает 2000 непонятных чисел(((( Я работаю в Borland C++ for DOS Valeriikozlov Нужна помощь. Сделал с Твоим кодом, частично работает, но не всегда правильно, почему проскакивают положительные числа между открицательными. Вот полный "рабочий" код, то есть компилятор никаких ошибок не дает:
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
07.11.2009, 19:20 | 12 | |||||
без индексации тот жу кусок кода:
0
|
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 10
|
|
07.11.2009, 19:27 [ТС] | 13 |
Valeriikozlov
Все-равно проскакивают положительные числа((( [IMG]http://i.***********/i4/80/bf/4e34a7c24fe8063ad4f3abd5b0ee.jpeg[/IMG]
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
07.11.2009, 19:42 | 14 | |||||
да действительно была ошибочка, вот так попробуй:
1
|
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 10
|
||||||
07.11.2009, 20:01 [ТС] | 15 | |||||
Подправил немного -работает в режиме положительные и отрицательные числа. когда есть ноль, то он не между пол. и отр. Пример : 4 45 65 2 45 0 34 -5 -45 -9 -45 -8.
Самый последний код:
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
07.11.2009, 20:25 | 16 | |||||
Заключительный вариант:
1
|
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 10
|
|
07.11.2009, 20:33 [ТС] | 17 |
Valeriikozlov
Все работает, спасибо!!! И Я еще немного понаглею... Ты бы не мог словами написать как работает твой кусок кода, а то я смотрю, что-то понимаю что-то нет. Буду благодарен.
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||||||||||||||||||||||
07.11.2009, 20:47 | 18 | |||||||||||||||||||||||||
f
1
|
8 / 8 / 5
Регистрация: 30.05.2009
Сообщений: 47
|
||||||
07.11.2009, 21:08 | 19 | |||||
0
|
07.11.2009, 21:08 | |
07.11.2009, 21:08 | |
Помогаю со студенческими работами здесь
19
Отсортировать массив и вывести на экран (массивы и указатели на указатели) Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) Указатели на массивы. Указатели и функции Указатели и массивы. Указатели и функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |