|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.01.2014, 00:35 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
TP7. Странно заполняет динам. массив
Доброго времени суток!
Есть некий динам. массив 1..M x 1..N M = 2 N = 2 заполняю: 1 2 1 2 Выводит: 1 1 1 2 Код: Код:
N = 2 Я заполняю так: mass[1,1] = 1 mass[1,2] = 2 mass[2,1] = 1 mass[2,2] = 2 На печать выводит так: mass[1,1] = 1 mass[1,2] = 1 mass[2,1] = 1 mass[2,2] = 2 Почему так, чт я делаю не так? |
29.01.2014, 06:43 | #2 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Это точно TP?
IntToStr в нем не было.. И массив у Вас 1 на 1.. а Вы его хотите N на M сделать.. вот он и косячит.. И не плохо было бы память освободить.. Цитата:
Последний раз редактировалось Poma][a; 29.01.2014 в 07:39. |
|
29.01.2014, 09:06 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
А там действительно можно так написать.
I'm learning to live...
|
|
29.01.2014, 09:47 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
См. в #7 как работать с двумерным динамическим в паскале
http://www.programmersforum.ru/showthread.php?t=47171
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
29.01.2014, 10:18 | #5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Poma][a, я Str под IntToStr замаскировал.
Да, в Borland Pascal нет динам. массивов, компилятор не умеет этого, зато я умею. Создал массив 1.1, дал памяти, вот и новый массив. Самое странное, что мли сделать так: Код:
Смотрю пост 7 по ссылке. Ячего-то не понимаю, но там вроде одномерный массив, а мне надо M на N, т.н. M,N устанавливает пользователь. |
29.01.2014, 10:22 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Там двумерный и для каждой строки отдельно выделяется память
ADD можно упростить примерно так Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 29.01.2014 в 10:59. |
29.01.2014, 14:32 | #7 | |||
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
В чем актуальность ТР7?
Цитата:
Цитата:
То есть матрица 1*1. А для того, чтобы найти ячейку памяти, где будет элемент [i,j], надо ((i-1)*n+j-1)*2, где n - кол-во столбцов, 2 - размер в байтах для типа Integer. Так вот компилятору это n не известно, точнее, оно равно 1 исходя из размерностей матрицы. Цитата:
E-Mail: arigato.freelance@gmail.com
Последний раз редактировалось Arigato; 29.01.2014 в 14:37. |
|||
29.01.2014, 15:28 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Кстати можно обойтись и одномерным массивом как в #1 обявлено, но обращаться чуть по хитрей
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
29.01.2014, 15:42 | #9 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Цитата:
Вариант Аватара работает как должно. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
динам.массив | sven4ik | Общие вопросы Delphi | 1 | 02.06.2013 15:59 |
Программа заполняет массив из 10 записей с 3-мя полями (фамилия, имя, полное число лет) из файла. | PasDeNom | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 10.04.2012 14:27 |
Странно выводится массив... | Romantik (Dima) | Общие вопросы C/C++ | 3 | 16.12.2010 18:52 |
динам.память.массив. | Ам тя | Помощь студентам | 0 | 22.03.2010 19:23 |
Конструктор, двумерный динам массив | ammaximus | Общие вопросы C/C++ | 7 | 08.02.2009 19:28 |