Реализация динамических матриц |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Реализация динамических матриц |
sheka |
12.04.2011 23:14
Сообщение
#1
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Цитата ...чтобы работать с динамическими матрицами, проще всего представить матрицу, как массив векторов... http://volvo71.narod.ru/faq_folder/dyn_arr.htm А как работать с ними если сделать "сложнее" (если объявить размерность через запятую). Вопрос тупой - прошу такой же ответ, т.к. задача стоит сортировать трехмерный массив и замерить время, а если использовать представление трехмерного массива как массив матриц, то показатели должны исказиться, что недопустимо. |
sheka |
13.04.2011 0:34
Сообщение
#2
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Время. Все дело во времени.
Вот как-то так: type ta = array[1..1 .. maxint div sizeof(TType),1 .. maxint div sizeof(TType)] :TType; Цель курсача: сравнивание времени сортировки вектора, трехмерного массива разной формы. Суммарное количество элементов одинаковое. Брр... скорее всего, я не тот вопрос задал. Вот "гвоздь программы": На сколько я понимаЛ, обращение к элементу массива a^[1] должно было быть дольше чем b[1], но вот эта программка на миллионе проверок выдает результаты одинаковые, то чуть больше в одну сторону, то в другую. Так ли это на самом деле? Код (Показать/Скрыть)
Вааще ниче не шарю: выводит такие результаты: 1921 2304 2288 Все наоборот.. FPC, win7. из под ДосБокса, к сожалению, не могу попробовать, чтобы принудительно уменьшить скорость процессора, поэтому брал количеством. |
Lapp |
13.04.2011 2:51
Сообщение
#3
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Разница во времени вряд ли велика и будет зависеть от оптимизации.
Вааще ниче не шарю: выводит такие результаты: 1921 2304 2288 Все наоборот.. FPC, win7. из под ДосБокса, к сожалению, не могу попробовать, чтобы принудительно уменьшить скорость процессора, поэтому брал количеством. А ты вообще обращаешь внимание на параметры компиляции? Вот результаты на моем компе. 1. Без оптимизации, с Range Check 872 844 844 2. С оптимизацией, с Range Check 391 272 262 3. С оптимизацией, без Range Check 262 261 260 А DosBox может существенно портить картину.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 14.05.2024 7:51 |