3 / 3 / 3
Регистрация: 15.01.2011
Сообщений: 13
|
|
1 | |
Заменить число в массиве на его адрес по возрастанию/убыванию14.01.2013, 12:08. Показов 862. Ответов 14
Метки нет (Все метки)
имеется массив a:=array [1..5] of byte , заполненный числами от 0 до 99, необходимо записать в него вместо чисел их адреса по возрастанию/убыванию. Например: 10 5 23 28 17, по возрастанию должен выглядеть так 2 1 4 5 3, по убыванию будет вот так 4 5 2 1 3
0
|
14.01.2013, 12:08 | |
Ответы с готовыми решениями:
14
Если первое число отрицательно, то его значение заменить его модулем; в противном случае второе число заменить Найти в массиве самое большое число и заменить его на 9 Найти первое отрицательное число в массиве, заменить его на ноль В одномерном массиве заменить каждое отрицательное число полусуммой его соседей справа и слева |
3 / 3 / 3
Регистрация: 15.01.2011
Сообщений: 13
|
|
14.01.2013, 12:14 [ТС] | 3 |
если необходимо, то да, меня устроит любой вариант решения данной проблемы >.<
0
|
Фрилансер
|
||||||
14.01.2013, 12:27 | 4 | |||||
1
|
3 / 3 / 3
Регистрация: 15.01.2011
Сообщений: 13
|
|
14.01.2013, 12:31 [ТС] | 5 |
0
|
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
|
|
14.01.2013, 14:23 | 6 |
Точно-точно работает?
Не знаю как у тебя, но у меня выдаёт странные циферки - не в порядке возрастания или убывания. Хотя раз тебя устраивает, то я не буду докапываться...
0
|
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
|
|
14.01.2013, 15:03 | 9 |
Читаю задание:
То есть меньшее число 5 и этот элемент массива замещается 1-кой, следующий 10 и он замещается 2-кой, и так далее, по возрастанию или убыванию.
CodeR, теперь смотрим что выдаёт программа: Массив - 59 87 16 75 71 Индексы - 3 1 5 4 2 То есть меньшее число - это 87 ? Расставим числа в порядке их индексирования программой: 87 71 59 75 16 Не похоже ни на порядок возрастания ни на порядок убывания. У меня уже возникают сомнения, что я чего-то не понимаю. Двух человек всё устраивает, а меня нет - наверное не улавливаю сути
0
|
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
|
|
14.01.2013, 15:28 | 11 |
А как ты их так лихо расставил, на основании чего? Индексов выданных программой? Так они расставляют другой порядок, который выше привёл.
Прогнал программу с исходными данными как в задании. Привожу результат: Массив - 10 5 23 28 17 Индексы - 2 1 5 3 4
0
|
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
|
|
14.01.2013, 15:52 | 13 |
Вот может быть здесь главное недопонимание. Мне показалось, что в задании этого нет и надо просто пройти элементы массива в порядке возрастания/убывания значений элементов и присвоить этим элементам их порядковые номера в этой возрастающей/убывающей последовательности. Думаю так.
Наверное только заказчик сможет уточнить или тот кто ему задание выдал (препод)
0
|
3 / 3 / 3
Регистрация: 15.01.2011
Сообщений: 13
|
||||||
15.01.2013, 01:25 [ТС] | 14 | |||||
сразу не заметил что программа работает не корректно... но помогла мне додуматься до правильного варианта, вот что получилось у меня:
0
|
181 / 179 / 23
Регистрация: 29.08.2012
Сообщений: 489
|
|
15.01.2013, 03:07 | 15 |
Так это проблема генерации уникальных случайных чисел. Если нужны именно не введённые откуда-то числа, а сгенерированные непорторяющиеся, то тоже можно организовать. Недавно отвечал на такую тему Поиск со случайным перебором.
0
|
15.01.2013, 03:07 | |
15.01.2013, 03:07 | |
Помогаю со студенческими работами здесь
15
В массиве отсортировать положительные числа по возрастанию, отрицательные по убыванию Отсортируйте в массиве положительные элементы по возрастанию, отрицательные – по убыванию В массиве отсортировать четные строчки по возрастанию, а нечетные по убыванию Если массив А упорядочен по возрастанию, то упорядочить его по убыванию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |