![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| -=Eva=- |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 13.3.2004 Репутация: нет Всего: нет |
ЧТО ТАКОЕ АДРЕСНАЯ АРИФМЕТИКА И УКАЗАТЕЛИ и с чем их едят кто нибудь может знает? Перемножить две квадратичных целочисленных матрицы (со случайными значениями) размером N x N (N = 100) с помощью указателей и адресной арифметики. Память для матрицы m[N][N] распределяется так: ______________________________________________________________ m[0][0] , … , m[0][N-1], m[1][0], … ,m[1][N-1], ... ,m[N-1][0], ... ,m[N-1][N-1] ______________________________________________________________ |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 3 Всего: 317 |
указатель = пойнтер
адрессная арифметика = "pointer arithmetics" это когда ты читаешь/пишешь данные региона памяти вычисляя их местонахождение манипуляциями с адресами. т.е. напр.: у нас есть адрес какого-то члена матрицы., int* p_m=0x2340; если ты знаешь, что матрица - 7х7, то число той же строчки, но в следующем столбике имеет адрес: p_m +(sizeof(_your_data_type)) /* если матрица целых - то sizeof(int). */ a в том же столбце но на сл. строке: адр+( sizeof(_your_data_type) * 7 ) /* */ вот и размышляй дальше. тебе дали задачку вычислить перемножение матриц, значит надо пройтись по всем клеткам и перемножить и сложить то что надо. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| Paladin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 12.3.2004 Репутация: нет Всего: нет |
Если
,то скажем m[5][3] эквивалентно *(pm + 5*N + 3). m[12][45] -- *(pm + 12*N + 45). А вообще намного проще пользоваться []. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |