Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / массив / 18 сообщений из 18, страница 1 из 1
07.02.2008, 18:35
    #35117976
Bella_8686
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если k-я строка матрицы симметрична, и значение 0 в противном случае.
подскажите, пожалуйста!
заранее спасибо!
...
Рейтинг: 0 / 0
07.02.2008, 19:11
    #35118079
..:COBECTb:..
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
Bella_8686Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если k-я строка матрицы симметрична, и значение 0 в противном случае.
подскажите, пожалуйста!
заранее спасибо!
а поподробней никак нельзя???
какой язык?
тут телепаты в отпуску...
...
Рейтинг: 0 / 0
07.02.2008, 22:17
    #35118325
Bella_8686
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
почему никак нельзя?
Tyrbo Paskal or Delphi
...
Рейтинг: 0 / 0
08.02.2008, 00:02
    #35118416
mikhail_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
Какая забавная девчушшка... В контексте линейной алгебры, ежели скажем есть квадратная матрица NxN, то я понимаю что значит что она симметричная. Если же матрица прямоугольная NxM, то уже непонятно. А что такое симметричная строка прямоугольной матрицы, то только Вашему преподу ведомо...
...
Рейтинг: 0 / 0
08.02.2008, 00:39
    #35118435
Шогал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
Что-то мне интуиция подсказывает, что имеется ввиду палиндром
...
Рейтинг: 0 / 0
08.02.2008, 11:35
    #35119186
Gatman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
ШогалЧто-то мне интуиция подсказывает, что имеется ввиду палиндром
+1

Багим по строкам. В каждой строке начиная с середины движемся одновременно к началу и к концу, парралельно сравнивая элементы. Если нашли не равные, значит не симметрична, если не нашли - симметрична. Только учесть вариант когда в строке чётное и нечётное количество элементов.
В принципе можно и наоборот, двигаться от концов к середине, тогда и учитывать не нужно ничего
...
Рейтинг: 0 / 0
08.02.2008, 17:36
    #35120979
Гы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
Код: plaintext
1.
2.
3.
array.inject([]) do |s, row|
  s << (if row[ 0 ..(row.length /  2  -  1 )] == row[-(row.length /  2 )..- 1 ].reverse then  1  else  0  end)
end

На паскаль сами переведете.
...
Рейтинг: 0 / 0
08.02.2008, 20:10
    #35121261
Gatman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
гы
Код: plaintext
1.
2.
3.
array.inject([]) do |s, row|
  s << (if row[ 0 ..(row.length /  2  -  1 )] == row[-(row.length /  2 )..- 1 ].reverse then  1  else  0  end)
end

На паскаль сами переведете.

Это чё за язык такой то?
...
Рейтинг: 0 / 0
08.02.2008, 23:45
    #35121480
Гы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
Gatman гы
Код: plaintext
1.
2.
3.
array.inject([]) do |s, row|
  s << (if row[ 0 ..(row.length /  2  -  1 )] == row[-(row.length /  2 )..- 1 ].reverse then  1  else  0  end)
end

На паскаль сами переведете.

Это чё за язык такой то?

это ruby, но где-то так будет выглядеть на всех языках, реализующию замыкание. А именно почти дословная запись Вашего алгоритма.
...
Рейтинг: 0 / 0
09.02.2008, 01:02
    #35121511
mikhail_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
я так понимаю что row "указывает" на текущую строку матрицы, т.е. что-то типа указателя на массив из N элементов типа double или int или whatever. А сама матрица та где? И как Вы ассоциируете row с началом текущей строки в матрице? Как переходите от строки к строке? Это уже где-то сидит в Вашем коде?
...
Рейтинг: 0 / 0
09.02.2008, 09:56
    #35121597
Гы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
mikhail_nя так понимаю что row "указывает" на текущую строку матрицы, т.е. что-то типа указателя на массив из N элементов типа double или int или whatever. А сама матрица та где? И как Вы ассоциируете row с началом текущей строки в матрице? Как переходите от строки к строке? Это уже где-то сидит в Вашем коде?

матрица, это array
inject это итератор, прокидывающий в блок do..end значение параметра в (...) и текущей строки |s, i|
...
Рейтинг: 0 / 0
09.02.2008, 09:57
    #35121599
Гы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
гы mikhail_nя так понимаю что row "указывает" на текущую строку матрицы, т.е. что-то типа указателя на массив из N элементов типа double или int или whatever. А сама матрица та где? И как Вы ассоциируете row с началом текущей строки в матрице? Как переходите от строки к строке? Это уже где-то сидит в Вашем коде?

матрица, это array
inject это итератор, прокидывающий в блок do..end значение параметра в (...) и текущей строки |s, i|

|s, row|
...
Рейтинг: 0 / 0
09.02.2008, 11:05
    #35121636
Хе-хе-хе
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
Bella_8686почему никак нельзя?
Tyrbo Paskal or Delphi

мне вот это понравилось...
...
Рейтинг: 0 / 0
09.02.2008, 21:32
    #35122083
Bella_8686
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
а можно написать на язык Turbo Pascal?
буду благородна!
...
Рейтинг: 0 / 0
11.02.2008, 22:05
    #35125416
mikhail_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
матрица, это array
inject это итератор, прокидывающий в блок do..end значение параметра в (...) и текущей строки |s, i|

А если матрица уложена в массив по столбцам, а не по строкам?
...
Рейтинг: 0 / 0
12.02.2008, 00:05
    #35125498
Гы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
mikhail_n матрица, это array
inject это итератор, прокидывающий в блок do..end значение параметра в (...) и текущей строки |s, i|

А если матрица уложена в массив по столбцам, а не по строкам?

метод array.transpose приведет к необходимому виду.
...
Рейтинг: 0 / 0
12.02.2008, 00:31
    #35125502
mikhail_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
метод array.transpose приведет к необходимому виду.

Ну всё, приехали, а метод transpose наличиствует у любого массива иль только двумерного? Или array попросту инстанс класса matrix? А то так и на любом ООП языке можно налопатить кучу классов, а потом уж элегантно решить задачу в три строчки - и замыкание/незамыкание - по-барабану.
...
Рейтинг: 0 / 0
12.02.2008, 00:37
    #35125504
Гы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
массив
mikhail_n метод array.transpose приведет к необходимому виду.

Ну всё, приехали, а метод transpose наличиствует у любого массива иль только двумерного? Или array попросту инстанс класса matrix? А то так и на любом ООП языке можно налопатить кучу классов, а потом уж элегантно решить задачу в три строчки - и замыкание/незамыкание - по-барабану.

transpose применим к двумерным массивам. А я не буду спорить, что можно налопатить. Только без замыканий так элегантно не получится. Под каждый случай не налопатишь.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / массив / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]