![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
troublesome |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: ![]() ![]() ![]() |
Здравствуйте!
Очень срочно нужна ваша помощь. Дан двумерный массив [1..m,1..n]. Нужно сравнить строки так: 1 со всеми, 2 со всеми и т.д. и для каждого написать число не совпадений. У меня все идеи не удались. Получается ОЧЕНЬ громоздко. Если будут хоть какие-то идеи, буду благодарна. |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата У меня все идеи не удались. Получается ОЧЕНЬ громоздко. Я не вижу, КАК именно у тебя получается. Где твое решение? Что именно для тебя - "громоздко"? |
troublesome |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: ![]() ![]() ![]() |
моя идея была в том, что бы тупо каждый раз запускать цикл for и проверять все по отдельности a[i,j]=a[i+1,j] и т.д. Но это же глупость!!! я начинающий и мне кажется, что я просто чего-то не знаю, что могло бы мне помочь при решении этой проблемы. поэтому и написала, что нужна идея,а не код. Помогите, если знаете, как делать.
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Понимаешь, в чем дело... Ты не дала достаточно информации, чтобы можно было помочь тебе в решении этой задачи. На данный момент - вопросов больше, чем ответов: Можно ли использовать дополнительную память? Обязана ли исходная матрица остаться неизменной, или она может измениться? Можно ли пользоваться подпрограммами?
Если доп. память использовать можно (или не обязательно сохранять матрицу в том виде, в котором ее получила) - возьми, отсортируй ее любым методом и за один проход посчитаешь количество повторений каждого элемента, никаких вложенных циклов. А вообще, неплохо было бы знать конечную цель всех этих махинаций с подсчетами, а то очень напоминает сагу об X, Y, Z - задача может решаться совсем не так, как ты это себе представляешь... |
troublesome |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: ![]() ![]() ![]() |
Можно ли использовать дополнительную память?(если необходимо, то можно)
Обязана ли исходная матрица остаться неизменной, или она может измениться?(изменяться она не должна. если отличий 2-х строк только 1, то в новую матрицу записывается 1 строка-копия тех, которые сравнивали, но на месте отличия пишется любой другой знак)т.е было 23456 и 23457==>23450. в итоге получается новая матрица с нулями на тех местах, где 1 отличий. Можно ли пользоваться подпрограммами?(да) еще ужаснее это то, что с новой матрицей происходит тоже самое. и это все до тех пор, пока не останется матрица со строками, которые имеют больше чем 1 отличий. Добавлено через 11 мин. а нужна мне старая матрица для того, что бы: старая матрица 0001 0010 0011 1001 1010 1011 новая 2021 2012(на месте двоек отличия) их 2 потому что сравнивали строки несколько раз. и получается 101101 011011(матрица покрытия)1-если строка новой матрицы входит в строку старой. 0-наоборот. вот для этого мне и надо понять, как сравнивать строки. |
troublesome |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 4 Пол: Женский Репутация: ![]() ![]() ![]() |
Всем еще раз привет.
тут вот что происходит. пользователь вводит кл-во переменных, программа создает матрицу(таблицу истинности+еще один столбик для значения F). ....... F 000 1 001 0 010 0 и т.д. Далее программа отыскивает к-во строк, у которых F=1. за счет этого появляется информ. о к-ве строк в новой матрице, которая будет состоять только из тех строк, в которых F=1. Проблема в том, что у меня выводится матрица, в которой все строки состоят из последней строки 1-й матрицы(где F=1). Пробовала найти ошибку в Pascal ABC, но тщетно. |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Цитата тут вот что происходит Тут происходит совсем не то, что ты написала (либо опять что-то недоговаривается). То, что описано постом выше - делается так:constВ результате имеем: ![]() Где тут нужно сравнение строк друг с другом? Я просил привести задание ПОЛНОСТЬЮ, кстати, а не кусками... Необходимо знать КОНЕЧНУЮ цель, что ты дальше будешь делать с теми строками, в которых F = 1 ??? |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:18 |