imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 17.07.2004, 20:16     # 1
Tyler Derden
Guest
 
Сообщения: n/a

Question Использование массивов как параметров

В Паскале в качестве формальных параметров процедуры можно указывать массив. Что-то типа:
procedure someproc(a:array of integer);
А можно как-нить многомерные массивы использовать в качестве параметров?
 
Старый 18.07.2004, 00:14     # 2
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
сорри. по ошибке назял на кнопку.

сорри. по ошибке назял на кнопку.

Последний раз редактировалось Drakosha; 18.07.2004 в 00:20. Причина: сорри. по ошибке назял на кнопку.
Drakosha вне форума  
Старый 18.07.2004, 18:53     # 3
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Хм, вообще-то использовать вот так как ты написал массив в качестве параметра дюже дорого в плане ресурсов памяти... Обычно делают это все через указатели, т.к. все параметры поднимаются в стек и жрут память, а любой указатель весит ровно 4 байта - есть разница если у тебя в массиве 1000 элеметнов типа BYTE? Ну это так, к слову.... А в чем собственно суть вопроса? Впринципе можно, но только смотря как и где... пиши подробнее.
/7y3uK вне форума  
Старый 19.07.2004, 01:27     # 4
Tyler Derden
Guest
 
Сообщения: n/a

Да знаю я насчет указателей и размеров... Но не важно это, т.к. массивы маленькие, только разных размерностей...

Цитата:
/7y3uK:
Впринципе можно, но только смотря как и где... пиши подробнее.
Меня и интересует как передать в функцию двумерный массив, а не указатель на него. Или так можно делать(в смысле, передавать массив целиком в функцию) только с одномерными массивами?
 
Старый 19.07.2004, 02:18     # 5
chek
Junior Member
 
Аватар для chek
 
Регистрация: 16.12.2002
Сообщения: 73

chek Нимб уже пробиваетсяchek Нимб уже пробивается
Можно даже функцию в качестве формальных параметров запихнуть надо тока тип создать с многомерным массивом иль функцией и усе
chek вне форума  
Старый 19.07.2004, 22:06     # 6
Tyler Derden
Guest
 
Сообщения: n/a

Если создать свой тип, то массив будет фиксированного размера. Так не катит. А если надо передать несколько массивов, с разной размерностью?
 
Старый 20.07.2004, 01:00     # 7
chek
Junior Member
 
Аватар для chek
 
Регистрация: 16.12.2002
Сообщения: 73

chek Нимб уже пробиваетсяchek Нимб уже пробивается
Создай класс для работы с массивами опиши там все стандартные процедуры и все будет ок. Я такое в свое время писал, но нарыть описание этого классам не могу в отпуске и вернусь с него тока в сентябре.
chek вне форума  
Старый 20.07.2004, 11:59     # 8
Tyler Derden
Guest
 
Сообщения: n/a

Класс я и сам смогу написать(хотя классы в Паскале - это извращение). Но я про встроенные возможности спрашивал. Но, кажись, таковых нема...
 
Старый 20.07.2004, 21:43     # 9
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Встроенных нема, нужно самому писать... имхо можно на одну функцию (ну или процедуру) вешать различные обработчики в зависимости от размерности через override... кстати ты на торри посмотри, наверняка там уже есть че-нить такое... _http://torry.net
/7y3uK вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:30.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.