помогите пожатуйста! может быть у кеого встречались такие задания!!
1. нужно подсчитать количесвто пар одинаковых элемнтов вмассиве.
2. нужно симметрично отобразить матрицу относительно главной диагонали.
помогите пожайлуйста, а то зачет мимо пролетает!
если что пишите
mariya2098@yandex.ru
13.05.09 17:19: Перенесено модератором из 'C/C++' — Кодт
Здравствуйте, Аноним, Вы писали:
А>помогите пожатуйста! может быть у кеого встречались такие задания!! А>1. нужно подсчитать количесвто пар одинаковых элемнтов вмассиве.
этого я нефига не понял
А>2. нужно симметрично отобразить матрицу относительно главной диагонали.
а вот это просто, если у тебя матрица вида
boost::numeric::ublas::matrix<double> a, то транспонированая ей матрица возвращается функцией
boost::numeric::ublas::trans(a)
S>а вот это просто, если у тебя матрица вида S>boost::numeric::ublas::matrix<double> a, то транспонированая ей матрица возвращается функцией S>boost::numeric::ublas::trans(a)
зачем здесь нужен boost и blas если вся операция заключается в обмене элементов матрицы (i,j)->(j,i), это всего функция на четыре строки
Здравствуйте, peterbes, Вы писали:
P>Здравствуйте, Sni4ok, Вы писали:
S>>а вот это просто, если у тебя матрица вида S>>boost::numeric::ublas::matrix<double> a, то транспонированая ей матрица возвращается функцией S>>boost::numeric::ublas::trans(a)
P>зачем здесь нужен boost и blas если вся операция заключается в обмене элементов матрицы (i,j)->(j,i), это всего функция на четыре строки
для того чтобы не городить велосипеды, более того матрицы могут быть не квадратные, соотвественно например если она представлялась массивом double a[2][3], то её транспонированная будет представляться массивом double b[3][2]
S>для того чтобы не городить велосипеды, более того матрицы могут быть не квадратные, соотвественно например если она представлялась массивом double a[2][3], то её транспонированная будет представляться массивом double b[3][2]
Какая главная диагональ существует у не квадратной матрицы хотелось бы знать? Второе утверждение неверное, размерность матрицы не меняется, а написать swap на три строчки это не креативно и религия не позволяет, тут никак не меньше, нужен буст.
Здравствуйте, peterbes, Вы писали:
P>Какая главная диагональ существует у не квадратной матрицы хотелось бы знать? Второе утверждение неверное, размерность матрицы не меняется, а написать swap на три строчки это не креативно и религия не позволяет, тут никак не меньше, нужен буст.
конечно нужен, как вы вообще зададите матрицу произвольного размера, в которую размер приходит динамически?
далее раз им захотелась транспонировать матрицу, они захотят матрицы умножать, потом факторизовать а потом глядишь и системы линейных уравнений решать научатсо. ненужно изобретать велосипеды там где есть стандартные решения.
Здравствуйте, Аноним, Вы писали:
А>помогите пожатуйста! может быть у кеого встречались такие задания!! А>1. нужно подсчитать количесвто пар одинаковых элемнтов вмассиве. А>2. нужно симметрично отобразить матрицу относительно главной диагонали. А>помогите пожайлуйста, а то зачет мимо пролетает! А>если что пишите А>mariya2098@yandex.ru
Здравствуйте, Sni4ok, Вы писали:
S>конечно нужен, как вы вообще зададите матрицу произвольного размера, в которую размер приходит динамически?
Тьфу на вас! Как вы думаете, во времена С и раннего С++, без всяких бустов и даже STL, так-таки никто не умел задавать двумерную матрицу с произвольным размером ?
Здравствуйте, Pavel Dvorkin, Вы писали:
S>>конечно нужен, как вы вообще зададите матрицу произвольного размера, в которую размер приходит динамически?
PD>Тьфу на вас! Как вы думаете, во времена С и раннего С++, без всяких бустов и даже STL, так-таки никто не умел задавать двумерную матрицу с произвольным размером ?
Даже во времена раннего С++ для работы с матрицами не изобретали велосипед, а использовали BLAS. Реализацией которого(сюрприз, сюрприз) и является boost::ublas. Так что, не будь это лабораторной работой, это было бы вполне оправдано хотя бы из-за того, что используется де-факто стандартный интерфейс. Я вообще не против велосипедостроения, но только в случае, если уже построенные не едут.
Здравствуйте, Аноним, Вы писали:
А>помогите пожатуйста! может быть у кеого встречались такие задания!! А>1. нужно подсчитать количесвто пар одинаковых элемнтов вмассиве. А>2. нужно симметрично отобразить матрицу относительно главной диагонали. А>помогите пожайлуйста, а то зачет мимо пролетает! А>если что пишите А>mariya2098@yandex.ru
Здравствуйте, peterbes, Вы писали:
S>>для того чтобы не городить велосипеды, более того матрицы могут быть не квадратные, соотвественно например если она представлялась массивом double a[2][3], то её транспонированная будет представляться массивом double b[3][2]
P>Какая главная диагональ существует у не квадратной матрицы хотелось бы знать? Второе утверждение неверное, размерность матрицы не меняется, а написать swap на три строчки это не креативно и религия не позволяет, тут никак не меньше, нужен буст.
К слову сказать, транспонирование неквадратной матрицы, размещённой в непрерывном массиве, — это очень нетривиальная перестановка. Тут swap'ами нахаляву не отделаешься.
(Но, разумеется, создать транспонированную копию в другом массиве — элементарно).
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, peterbes, Вы писали:
S>>>для того чтобы не городить велосипеды, более того матрицы могут быть не квадратные, соотвественно например если она представлялась массивом double a[2][3], то её транспонированная будет представляться массивом double b[3][2]
P>>Какая главная диагональ существует у не квадратной матрицы хотелось бы знать? Второе утверждение неверное, размерность матрицы не меняется, а написать swap на три строчки это не креативно и религия не позволяет, тут никак не меньше, нужен буст.
К>К слову сказать, транспонирование неквадратной матрицы, размещённой в непрерывном массиве, — это очень нетривиальная перестановка. Тут swap'ами нахаляву не отделаешься. К>(Но, разумеется, создать транспонированную копию в другом массиве — элементарно).
На сколько я знаю, она до сих пор эффективно не решена. Там возникают циклы перестановки причудливой и непредсказуемой формы.
Здравствуйте, vadimcher, Вы писали:
К>>К слову сказать, транспонирование неквадратной матрицы, размещённой в непрерывном массиве, — это очень нетривиальная перестановка. Тут swap'ами нахаляву не отделаешься. К>>(Но, разумеется, создать транспонированную копию в другом массиве — элементарно).
V>На сколько я знаю, она до сих пор эффективно не решена. Там возникают циклы перестановки причудливой и непредсказуемой формы.
Кто-нибудь делал попытку красиво визуализировать это дело? Типа множества Мандельброта или странного аттрактора Лоренца?
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, vadimcher, Вы писали:
К>>>К слову сказать, транспонирование неквадратной матрицы, размещённой в непрерывном массиве, — это очень нетривиальная перестановка. Тут swap'ами нахаляву не отделаешься. К>>>(Но, разумеется, создать транспонированную копию в другом массиве — элементарно).
V>>На сколько я знаю, она до сих пор эффективно не решена. Там возникают циклы перестановки причудливой и непредсказуемой формы.
К>Кто-нибудь делал попытку красиво визуализировать это дело? Типа множества Мандельброта или странного аттрактора Лоренца?
Здравствуйте, Sni4ok, Вы писали:
P>> а написать swap на три строчки это не креативно и религия не позволяет, тут никак не меньше, нужен буст. S>конечно нужен, как вы вообще зададите матрицу произвольного размера, в которую размер приходит динамически?
Скоро можно будет на собеседовании у разработчика по с++ с 5 летним и более стажем задавать вопрос на засыпку, определяющий уровень ЗП:
как задать матрицу произвольного размера без буста