IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> сравнение строк
troublesome
сообщение 10.03.2010 11:25
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Здравствуйте!
Очень срочно нужна ваша помощь. Дан двумерный массив [1..m,1..n]. Нужно сравнить строки так: 1 со всеми, 2 со всеми и т.д. и для каждого написать число не совпадений. У меня все идеи не удались. Получается ОЧЕНЬ громоздко. Если будут хоть какие-то идеи, буду благодарна.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 10.03.2010 13:55
Сообщение #2


Гость






Понимаешь, в чем дело... Ты не дала достаточно информации, чтобы можно было помочь тебе в решении этой задачи. На данный момент - вопросов больше, чем ответов: Можно ли использовать дополнительную память? Обязана ли исходная матрица остаться неизменной, или она может измениться? Можно ли пользоваться подпрограммами?

Если доп. память использовать можно (или не обязательно сохранять матрицу в том виде, в котором ее получила) - возьми, отсортируй ее любым методом и за один проход посчитаешь количество повторений каждого элемента, никаких вложенных циклов.

А вообще, неплохо было бы знать конечную цель всех этих махинаций с подсчетами, а то очень напоминает сагу об X, Y, Z - задача может решаться совсем не так, как ты это себе представляешь...
 К началу страницы 
+ Ответить 
troublesome
сообщение 10.03.2010 14:11
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Можно ли использовать дополнительную память?(если необходимо, то можно)
Обязана ли исходная матрица остаться неизменной, или она может измениться?(изменяться она не должна. если отличий 2-х строк только 1, то в новую матрицу записывается 1 строка-копия тех, которые сравнивали, но на месте отличия пишется любой другой знак)т.е было 23456 и 23457==>23450. в итоге получается новая матрица с нулями на тех местах, где 1 отличий.
Можно ли пользоваться подпрограммами?(да)

еще ужаснее это то, что с новой матрицей происходит тоже самое. и это все до тех пор, пока не останется матрица со строками, которые имеют больше чем 1 отличий.


Добавлено через 11 мин.
а нужна мне старая матрица для того, что бы:
старая матрица
0001
0010
0011
1001
1010
1011
новая
2021
2012(на месте двоек отличия) их 2 потому что сравнивали строки несколько раз.
и получается
101101
011011(матрица покрытия)1-если строка новой матрицы входит в строку старой. 0-наоборот.

вот для этого мне и надо понять, как сравнивать строки.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.07.2025 10:26
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"