![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 14.10.2012
Сообщений: 7
|
![]()
Здравствуйте.
Может кто-нибудь объяснить студенту, как можно сравнить элементы в массиве... чтобы было более понятно, приведу пример: задан массив размерностью NxM. в нем нужно найти особый элемент, который больше, чем элементы слева и меньше, чем элементы справа. [элементы слева]<[особый массив]<[элементы справа] - по строке, не столбцу код программы не нужен - нужно как можно более подробное объяснение, чтобы я мог написать программу.
С Уважением.
|
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Т.е. если я правильно понял - таких элементов будет столько, сколько строк в массиве?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]()
Матерь Божья, 1 студент, который хочет сам разобраться сам написать программу, а не получить готовый код...
Допустим дано Код:
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 14.10.2012
Сообщений: 7
|
![]()
Stilet таких элементов может не быть вообще. я установил заполнение StringGrid рандомом
Рома, в целом думаю верно с первой строкой. если брать первый элемент: слева 1, особый 1, справа 2. думаю не подходит. брать 2-ой элемент. 1<2<3 - подходит. брать 3-ий элемент. 2<3<3 - тоже не подходит. НО! с крайними элементами я не уверен. может 1 так же будет особым, если брать слева от единицы 0. я не знаю 2-ая строка. тут ни одного получается 3-ая строка. получается либо единица будет особым, либо ни одного особого забыл добавить. важная вещь. сравнивается интервал до особого элемента. т.е. если брать последний, крайний, элемент, то с ним сравнивается вся строка до этого элемента. первая строка, 3 элемент. 1(2)<3<3. сначала сравниваем 1, потом 2. и если хоть один элемент не удовлетворяет условию, то это уже не особый массив
С Уважением.
Последний раз редактировалось leshaiitp; 14.10.2012 в 21:54. Причина: Пояснение |
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]()
Не в рубаюсь я в задание....
Вот погуглил : определите количество "особых" элементов масиива С(n,m).(Элемент считается особым, если выполняются ниже перечисленные условия: элемент больше суммы остальных элементов своего столбца. в строке слева от элемента находятся элементы, меньшие его, а справа большие). Для отладки программы исходный массив сформировать с помощью генератора случайных чисел. (Код см. ниже) Возможно как-то поможет.... |
![]() |
![]() |
![]() |
#6 |
Регистрация: 14.10.2012
Сообщений: 7
|
![]()
Рома спасибо. хоть мне сказали, чтобы я не пытался разобраться в чужом коде, но здесь есть хоть-какое описание, что встретишь не часто - думаю справляюсь.
ничего не могу придумать... ... объясните, как записать блок-схему: попытаюсь подробно расписать for j:=1 to N do j=1 - да -> for k=2 to N do A[i,j] < A[i,k] - да -> k=N - да -> os:=os+1 наверно конец. (где матрица сравнивается) - да -> k=N - нет -> переход к (k=2 N) (там где j=1) - нет -> ... тут не нужно как написать кодом в delphi? там еще 4 таких блока. может если пойму этот, попробую описать другие Код:
С Уважением.
Последний раз редактировалось Stilet; 18.10.2012 в 20:22. |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
0.1 для одной строки j 1. проверяем все элементы i:=1..M 1.1. берем элемент (i, j) (см п.0) 2.0. изначально считаем его особым (isosob:=true) 2.1. проверяем все элементы левее (k=1..i-1, j) на выполнение условия < 2.2. проверяем все элементы правее (k=i+1..M, j) на > НЕ выполнение хотя бы одного означает, это НЕ ТО что нам нужно if not (...) then isosob:=false 1.2. в конце проверок проверяем особость (isosob) и выводим результат 2.0 изначально считаем особым 2.x проверяем все элементы строки (k=1..M) на 2.1. если (k<i) слева то проверяем на < 2.2. если (k>i) справа то проверяем на > 2.3. если (k=i) совпал то не проверяем. не выполнено значит не то. isosob:=false
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 18.10.2012 в 20:09. |
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]() Код:
m - кол-во строк |
![]() |
![]() |
![]() |
#9 |
Регистрация: 14.10.2012
Сообщений: 7
|
![]() Код:
evg_m боюсь, что я не совсем понял, ибо долго думал, куда и какие циклы вписать по этой схеме Рома, на паскале код бесконечный. я не смогу его толком проконтролировать из-за ручного ввода. тот файл, что ты вкладывал был лучше в этом плане
С Уважением.
|
![]() |
![]() |
![]() |
#10 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]() Цитата:
Давайте введем, то что мы уже знаем - это двухмерный массив 3 на 3 Код:
и 3 - кол-во строк |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массивы на delphi | cyber922 | Помощь студентам | 4 | 06.10.2011 14:28 |
delphi-массивы | RsGoLd | Помощь студентам | 7 | 10.12.2010 18:24 |
Delphi массивы | world12_tk | Помощь студентам | 1 | 04.10.2010 02:29 |
Delphi. Массивы | Len4i]{ | Помощь студентам | 2 | 06.06.2010 08:27 |
Массивы. Delphi | gree | Помощь студентам | 10 | 11.05.2009 22:11 |