IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Память..., ...
renesko1
сообщение 12.07.2008 17:07
Сообщение #1


поиск
****

Группа: Пользователи
Сообщений: 346
Пол: Мужской
Реальное имя: nir

Репутация: -  2  +



 type

   heightMatrix = array [1..MaxInt,1..MaxInt] of shortInt ;
   pheightMatrix = ^heightMatrix ;

   var

      maxx, maxy : integer ;

   	Color1, color2 : shortint ;
      Color3, color4 : shortint ; // ñì. äîêóìåíòàöèþ
      length, width : integer ;
      x, y, x1, y1  : real  ; // êîîðäèíàòû ëåâîãî âåðõíåãî è ïðàâîãî íèæíåãî
      								// óãëà ïðÿìîóãîëüíèêà	

      phMat 		 : pheightMatrix  ;
      l, w         : integer ; // ñ÷¸ò÷èêè â öèêëàõ
      stepx, stepy : integer ;



....
 procedure CreatMatrix (var p          : pheightMatrix ;
  	                       var len, width : integer ) ;
   const
   name_in = 'Height_map.txt' ;

   var
   Input_map : text ;
   l, w : integer ; // l = length, w = width
   x, y : integer ;
   Size : integer ;
   begin
   {$I-}
   assign(Input_map, name_in) ;
   reset(Input_map) ;
   if IOResult <> 0 then
   	begin
      writeln('Ôàéë íå íàéäåí â êàòàëîãå ñ ïðîãðàìîé.');
      halt ;
      end ;
   {$I+}
    read(Input_Map, l) ;
    read(Input_Map, w) ;


    size := l * w * sizeOf(shortInt) ;
    writeln(size);

    Getmem(p, Size) ;  // только когда <= 100
    for y := 1 to w do
    	begin
      for x := 1 to l do
    	read(input_map, p^[x, y]) ;
      end ;

   len := l ; width := w ;

  close(input_map);
   end ;
...
BEGIN
 CreatMatrix(phMat,length, width);



Вот это добро не работает, когда Size > 100, как это обойти, если можно.

Сообщение отредактировано: renesko1 - 12.07.2008 17:10


--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 1)
volvo
сообщение 12.07.2008 17:33
Сообщение #2


Гость






Стой, стой... Создаешь динамическую матрицу? Тогда неправильно создаешь...

Смотри здесь:
Динамические массивы и матрицы
(сначала выделяется память под L строк, потом инициализируется каждая строка. Естественно, способ обращения к ячейке - тоже другой)...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 9:42
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"