0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 38
|
|
1 | |
Определить, может ли при перестановке строк одной матрицы получится вторая15.08.2011, 17:07. Показов 6510. Ответов 21
Метки нет (Все метки)
Даны две матрицы одинаковых размеров. Определить, может ли при перестановке строк одной матрицы получится вторая. Помогите пожалуйста реализовать данную программу на Си, потому что сам я пока не могу сделать. Заранее всем спасибо.
0
|
15.08.2011, 17:07 | |
Ответы с готовыми решениями:
21
Может ли получится список тождественный исходному при перемешивании методом random.shuffle() Может ли при каких либо условиях вторая квадратичная форма равняться нулю? Определить, что получится при выполнении указанного кода Сделать, чтобы при переходе с одной формы на другую, первая исчезала, а вторая оставалась |
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 38
|
|
15.08.2011, 17:28 [ТС] | 3 |
я ток неделю изучаю Си. да я представляю что нужно построчно сравнивать матрицы. но как это реализовать не пойму.
0
|
Заблокирован
|
|
15.08.2011, 17:30 | 4 |
куда ты торопишься, открой книжечку, почитай
0
|
Каратель
|
||||||
15.08.2011, 17:35 | 5 | |||||
0
|
Заблокирован
|
|
15.08.2011, 17:39 | 6 |
break надо делать в таких случаях*
0
|
484 / 331 / 32
Регистрация: 15.08.2011
Сообщений: 1,071
|
|
15.08.2011, 17:41 | 8 |
0
|
Заблокирован
|
|
15.08.2011, 17:41 | 9 |
без него быстрее
0
|
Заблокирован
|
||||||
15.08.2011, 17:48 | 10 | |||||
Берём строку, сравниваем с каждой из строк 2-й матрицы, если есть такая же, переходим к другой строке, в итоге либо перебрав все строки 1-й матрицы поймём что они есть во 2-й либо какая та строка не будет содержаться - тогда матрицы не эквивалентны, вот кот и скриншот работы
0
|
Заблокирован
|
|
15.08.2011, 17:52 | 11 |
- чё за бред сравниваем элементы в строках и столбцах например для i = 2 j = 3
matr[2][3] != matr[3][2] - Добавлено через 2 минуты Maxwe11, обрати внимание - если перестановка строк, значит порядок элементов в них должен быть одинаков, нужно рассмотреть лишь вхождения этих строк в матрице для анализа
0
|
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 38
|
|
15.08.2011, 17:53 [ТС] | 12 |
размеры могут вводиться как с клавиатуры так и быть константами.
0
|
Заблокирован
|
|
15.08.2011, 17:57 | 14 |
Дмитрий, ты мой код смотрел?
Определить, может ли при перестановке строк одной матрицы получится вторая Программа отработала и для варианта матриц 123 456 789 456 123 789
1
|
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 38
|
|
15.08.2011, 18:00 [ТС] | 15 |
смотрел, но он на С++ а мне надо на С, потому что С++ для меня темный лес.
0
|
484 / 331 / 32
Регистрация: 15.08.2011
Сообщений: 1,071
|
|
15.08.2011, 18:02 | 16 |
Это решение не полное. Во 2-й матрице могут попасться 2 одинаковые строки, тогда перестановки не существует, а ваш алгоритм скажет что существует.
Нужно создать вспомогательный одномерный массив, длина которого равна числу строк матриц. Перебирать поиском строки с 0-й по последнюю и если совпадение есть, записывать номер совпавшей строки во вспомогательный массив. Потом отсортировать его и проверить на последовательность 0,1,2...N-1. Если хоть раз совпадения не получилось, можно закончить с отрицательным ответом.
1
|
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
|
||||||
15.08.2011, 19:57 | 17 | |||||
можно отсортировать сначала строки матрицы, а потом по-элементно сравнить:
0
|
Заблокирован
|
||||||
15.08.2011, 22:01 | 18 | |||||
- которыйраз встрчаю сортировки - они удлинняют время выполнения алгоритма, на мой взгляд нужно работать сразу с матрицами, притом есть ряд задач где исходная матрица должна оставаться таковой (даже если она не отсортированная)!
Добавлено через 2 минуты - С учётом этого изменил в своём алгоритме всего 1-но условие(а именно - если рядов несколько, то число найденных элементов превысит число столбцов), вот код на С...
Enter num of rows: 3 Enter num of cols: 3 Enter matrix A A[01][01] = 1 A[01][02] = 2 A[01][03] = 3 A[02][01] = 4 A[02][02] = 5 A[02][03] = 6 A[03][01] = 7 A[03][02] = 8 A[03][03] = 9 Enter matrix B B[01][01] = 4 B[01][02] = 5 B[01][03] = 6 B[02][01] = 7 B[02][02] = 8 B[02][03] = 9 B[03][01] = 1 B[03][02] = 2 B[03][03] = 3 Matrix A 1 2 3 4 5 6 7 8 9 Matrix B 4 5 6 7 8 9 1 2 3 matr1 not equal matr2 [Y/N] Y - enter new matrixes Enter num of rows: 3 Enter num of cols: 3 Enter matrix A A[01][01] = 1 A[01][02] = 2 A[01][03] = 3 A[02][01] = 1 A[02][02] = 2 A[02][03] = 3 A[03][01] = 4 A[03][02] = 5 A[03][03] = 6 Enter matrix B B[01][01] = 4 B[01][02] = 5 B[01][03] = 6 B[02][01] = 1 B[02][02] = 2 B[02][03] = 3 B[03][01] = 7 B[03][02] = 8 B[03][03] = 9 Matrix A 1 2 3 1 2 3 4 5 6 Matrix B 4 5 6 1 2 3 7 8 9 matr1 not equal matr2 [Y/N] Y - enter new matrixes Enter num of rows: 3 Enter num of cols: 3 Enter matrix A A[01][01] = 1 A[01][02] = 2 A[01][03] = 3 A[02][01] = 1 A[02][02] = 2 A[02][03] = 3 A[03][01] = 4 A[03][02] = 5 A[03][03] = 6 Enter matrix B B[01][01] = 1 B[01][02] = 2 B[01][03] = 3 B[02][01] = 1 B[02][02] = 2 B[02][03] = 3 B[03][01] = 4 B[03][02] = 5 B[03][03] = 6 Matrix A 1 2 3 1 2 3 4 5 6 Matrix B 1 2 3 1 2 3 4 5 6 matr1 not equal matr2 [Y/N] Y - enter new matrixes
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
15.08.2011, 22:33 | 19 |
-=ЮрА=-, а почему во всех случаях в выводе результат "matr1 not equal matr2"? Это так и должно быть?
0
|
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
|
|
16.08.2011, 08:28 | 20 |
0
|
16.08.2011, 08:28 | |
16.08.2011, 08:28 | |
Помогаю со студенческими работами здесь
20
При нажатии на кнопку одной формы, у меня должна выскочить вторая...как это написать в процедуре... Сколько строк может хранить в одной таблице SQL Server? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |