|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.12.2018, 15:46 | #1 |
Пользователь
Регистрация: 02.12.2018
Сообщений: 12
|
delphi Поиск одинаковых чисел в матрице
Здравствуйте.
По заданию нужно создать матрицу, заполнить случайными числами и проверить эти числа на совпадения. Застрял с проверкой чисел, либо неправильно определяет совпадения, либо выдает всегда одно и то же. Сижу уже несколько дней, подскажите, что делаю не так. Спасибо. Код:
|
02.12.2018, 16:10 | #2 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
А если так:
Код:
and((p<>q) - вот ошибка Последний раз редактировалось digitalis; 02.12.2018 в 16:14. |
02.12.2018, 16:28 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Только до n-1 и m-1. Можно схитрить и двумя циклами:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
02.12.2018, 18:42 | #4 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
А почему? Вдруг совпавшее значение притаилось именно в последней строке (столбце) ? Ведь это не Си, массив [0..m,0..n] .
А насчет 2 циклов - не знаю, будет ли экономия, но ущерб в ясности понимания будет, я думаю. В одной умной книжке я прочел: "Некоторые программисты полагают, что мировой запас скобок ограничен и поэтому употребляют их крайне редко" Я применил это к вложенности циклов В данном случае "уполовинивание" имело бы смысл для массивов очень больших размерностей (много индексов) , в результате могла быть превышена допустимая глубина вложенности циклов, но этот случай, думаю, не из реальной жизни. Последний раз редактировалось digitalis; 02.12.2018 в 18:47. |
02.12.2018, 18:57 | #5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
В двух циклах операции деления конечно не подарок. Но можно и их избежать ) ps ой, к тому массиву мой пример не подходит, m и n может быть меньше фактической размерности массива
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 02.12.2018 в 19:10. |
|
03.12.2018, 10:39 | #6 |
Пользователь
Регистрация: 02.12.2018
Сообщений: 12
|
Большое спасибо всем за помощь, все работает, как надо.
Есть только пара вопросов: n-1 и m-1 нужно прописывать, чтобы последние ячейки не сравнивались сами с собой? Если не прописывать -1, то программа ошибается с ответами. можно подробнее в какой ситуации это возможно? Я проверил многократно с разными параметрами и всегда работает правильно. |
03.12.2018, 11:12 | #7 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
У меня "несравнение с самим собой" обеспечивается вот этим
Код:
|
03.12.2018, 11:36 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Все нормально, той ой к примеру с двумя циклами и зря написал - он будет правильно работать )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск одинаковых чисел в столбцах | pain2430 | Microsoft Office Excel | 10 | 31.12.2015 16:18 |
Поиск одинаковых чисел (Visual Basic) | Чуччи | Помощь студентам | 2 | 30.10.2011 11:17 |
Поиск чисел в матрице | Dmitri4 | Общие вопросы Delphi | 3 | 23.05.2010 23:57 |
Поиск одинаковых значений в стобце, возврат суммы чисел из другого столбца в найденных строках! | Kup | Microsoft Office Excel | 2 | 25.03.2010 10:15 |
Поиск одинаковых чисел | bvden | Microsoft Office Excel | 3 | 05.07.2009 01:29 |