Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. 0.Пусть у нас есть двумерный массив: Код: plaintext 1. 2. 3. 4. 1.Так мы найдем минимум в каждой строке: Код: plaintext 1. 2. 3. 2. Написать свои функции поиска минимума и максимума не составляет труда, однако мне хотелось бы использовать существующие возможности С++. Подскажите пожалуйста по следующим вопросам: q1 Как использовать существующий функционал С++ для поиска min в столбцах матрицы? Будут ли при этом какие-то потери по времени в отличие от классической реализации? Как бы вы поступили на практике? q2 Когда вы пишите программы на С++, используете ли вы функции выделения памяти malloc,calloc и др. ? q3 Каким образом вы бы оформили код из пункта 1, в стиле С++ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 03:31 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЗдравствуйте. 0.Пусть у нас есть двумерный массив: Код: plaintext 1. 2. 3. 4. / начнем с того, что это - не двумерный массив, а массив массивов. 2. Написать свои функции поиска минимума и максимума не составляет труда, однако мне хотелось бы использовать существующие возможности С++. Подскажите пожалуйста по следующим вопросам: q1 Как использовать существующий функционал С++ для поиска min в столбцах матрицы? ну, по хитрому вычислять индексы в матрице, и в цикле на range обрабатывать. или в for each. Будут ли при этом какие-то потери по времени в отличие от классической реализации? ой, Там при обработке в памяти какие потоки по времени то? Как бы вы поступили на практике? не знаю, какую-то библиотеку на этот счет бы нашел. q2 Когда вы пишите программы на С++, используете ли вы функции выделения памяти malloc,calloc и др. ? нет. даже лучше new не использовать явно. q3 Каким образом вы бы оформили код из пункта 1, в стиле С++ ? не знаю, надо подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 07:57 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
многомерный массив отличается от вложенных массивов именно тем, что доступ ко всей памяти массива происходит регулярным образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 08:01 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
в c++ забыли/не захотели сделать полноценные многомерные массивы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 08:41 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
SashaMercury0.Пусть у нас есть двумерный массив: Код: plaintext 1. 2. 3. 4. Выделяй память одним большим куском Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 08:49 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
Изопропилв c++ забыли/не захотели сделать полноценные многомерные массивы А скольки -мерность нам нужна в языке? Выше 2-й степени идёт полиномиальный расход памяти. Возможно хештаблички решат это задачу более экономно. Разумеется я исхожу из предположения что пользователь не всегда использует весь диапазон ключей и большая часть ячеек остаются нулями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 12:58 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
maytonА скольки -мерность нам нужна в языке? >1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 13:00 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
ИзопропилmaytonА скольки -мерность нам нужна в языке? >1 Ну назови задачу где тебе нужен был массив выше двух измерений. И что там хранилось и как использовалось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 13:03 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
Изопропилв c++ забыли/не захотели сделать полноценные многомерные массивы Потому что кому надо может тривиально реализовать класс с таким функционалом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 13:14 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
maytonИзопропилпропущено... >1 Ну назови задачу где тебе нужен был массив выше двух измерений. В Fortran-90, если ничего не путаю, их 7. Мне больше 6-ти как-то не требовалось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 14:03 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
mayton, я тут не так давно карты Кохонена юзал, Там в моделях 7-10 изменений - легко.. вообще, любые матмодели .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 14:04 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
MasterZiv, крутяк. И как они хранились в memory? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 14:18 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
Допустим у нас есть некий язык X++ в котором можно сделать следующее: Код: plaintext 1. 2. Как его аллоцировать? В какую структуру? Как его экстендить. Как он будет деградировать (освобождать память)? В хешмапу? А в какую? А если мне надо будет сделать срез (итаратор по 3-му параметру) то как взять значения которые у меня уже в кубе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 14:53 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
maytonКак его аллоцировать? В какую структуру? Как его экстендить. Как он будет деградировать (освобождать память)? ИМХУ в одномерный массив. Какая разница сколько измерений? Расчет смещения относительно начала прост: например в arr[M][N][K][L] , надо получить элемент a[1][2][3][4] смещение будет Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:05 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
Дима это банально. Ты подумай сколько у тебя памяти и какие диапазоны индексов отсюда всплывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:08 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
maytonДима это банально. Ты подумай сколько у тебя памяти и какие диапазоны индексов отсюда всплывают. Если это обычный (не ассоциативный) массив, то элементов будет M*N*K*L и от эвристики меньше не станет. Другой вопрос как оно в память ляжет, а тут не столько память важна (докупить можно если очень надо), сколько кэш проца, поэтому самое часто перебираемое измерение должно быть последнее, т.е. L. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:19 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
Dima T, ну припустим я эти значения M,N,K.... еще не знаю. Я буду грузить данные из внешнего файла. Из СSV. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:23 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
MasterZiv q1 Как использовать существующий функционал С++ для поиска min в столбцах матрицы? ну, по хитрому вычислять индексы в матрице, и в цикле на range обрабатывать. или в for each. Не может кто-нибудь привести конкретный пример, пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:27 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
maytonИзопропилпропущено... >1 Ну назови задачу где тебе нужен был массив выше двух измерений. И что там хранилось и как использовалось? У меня в программах на Maple есть 4х мерные матрицы. Для реализации приближенных методов, коэффициенты в вычислительной схеме имеют 4 индекса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:31 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
Например, если в качестве набора базисных функций использовать , строим невязку и уже имеем коэффициенты адресуемые 4мя индексами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:35 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
maytonDima T, ну припустим я эти значения M,N,K.... еще не знаю. Я буду грузить данные из внешнего файла. Из СSV. А какая разница M,N,K это константы или переменные? Другое дело если ты не знаешь как будут использоваться эти M,N,K. Кстати "грузить" это уже отдельная ресурсоемкая задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 15:40 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
Dima TmaytonКак его аллоцировать? В какую структуру? Как его экстендить. Как он будет деградировать (освобождать память)? ИМХУ в одномерный массив. Какая разница сколько измерений? Расчет смещения относительно начала прост: например в arr[M][N][K][L] , надо получить элемент a[1][2][3][4] смещение будет Код: plaintext 1. в общем случае адрес p+(i 1 -l 1 ) * s 1 + (i 1 -l 2 ) * s 2 +... где s n - шаг по измерению(stride) это позволяет строить вырезки(slice) в том числе и с уменьшением числа измерений p,l i ,s i - хратятся в паспорте(дескрипторе) массива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:01 |
|
||
|
Двумерные массивы и С++
|
|||
|---|---|---|---|
|
#18+
Так что решили? 5-мерным массивам дать жизнь? Или обойдемся проекциями на одномерный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:21 |
|
||
|
|

start [/forum/moderation_log.php?user_name=5677]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 444ms |
| total: | 625ms |

| 0 / 0 |
