![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 83
|
![]()
Такая задача:1. Дан одномерный целочисленный массив А состоящий из N элементов(0<N<20;-10000<A[i]<10000). Упорядочить массив по правилу перед элементом, который был первым в массиве разместить все большие его, а за ним все остальные, сохраняя взаимное расположение, как среди элементов, стоящих перед первым , так и среди остальных элементов.
Помогите задать условие для N и A[i]! Язык Delphi |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
уверен, что есть много вариантов решения данной задачи.
расскажу два. Какой выбрать - решайте сами... вариант 1. Пишем процедурку, которая помещает указанный элемент (i-й) помещает в начало массива, не меняя расположение остальных элементов: procedure MoveElement(var M : TMyArray; i : integer); дальше всё просто. Запоминаем величину первого элемента и перебирая остальные элементы в цикле сравниваем: Код:
вариант 2. создаём новый массив, сначала записываем в него элементы больше первого. потом первый элемент. потом ещё один проход по циклу и копируем все элементы, которые меньше/равны первому элементу. всё. задача решена. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 83
|
![]()
спасибо за варианты но у меня не получается написать условия для N и для A[i]. сам код у мя получился
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
эти условия банально объсняют Вам какой нужно объявить массив и какого типа элементы массива:
Код:
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 83
|
![]()
а такие уловия для N подходят и для randomize?
а на A[i] какие поставить условия? Последний раз редактировалось Saka; 12.12.2009 в 00:02. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ага. для рандомайза надо немножко посчитать на пальцах.
случайное число в диапазоне [-10000..10000] можно получить так: Код:
p.s. в принципе N тоже можно получать случайным образом: Код:
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 83
|
![]()
а это можно записать как-нибудь через ''If''?
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
И, похоже, здесь, на форуме, Ваш вопрос тоже не поняли... Попытайтесь здесь в теме его (вопрос) раскрыть, что Вас не устраивает, для чего тут может понадобится условный оператор IF, какое условие надо проверять и т.д. мне кажется, что Вы просто морочите себе голову... ![]() p.s. Кстати, хотелось бы посмотреть на код решения задачи. Если у Вас описание/иницилизация типов данных вызвало такие вопросы, то что же там в коде решения?!!! |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 04.12.2009
Сообщений: 83
|
![]()
теперь все понятно, просто тут ввели в заблуждение, что через оператор условия можно сделать. А я не был на 100% уверен и потому спросил
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi - операции с массивом | Sianessa | Помощь студентам | 7 | 05.05.2009 00:27 |
Задача в Delphi с двумерным массивом | SirLionheART | Помощь студентам | 2 | 14.12.2008 13:11 |
Задачка с массивом (Delphi) | 777UFO777 | Помощь студентам | 3 | 04.12.2008 23:51 |
Создание оболочки к программе с массивом (Delphi) | Kawun | Помощь студентам | 1 | 28.11.2008 20:22 |
Delphi, работа с массивом | Skay | Помощь студентам | 2 | 05.04.2007 16:50 |