Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 18.06.2014, 11:49   #1
rainbow
Форумчанин
 
Регистрация: 06.09.2008
Сообщений: 156
Репутация: 26
По умолчанию Создать определенное количество массивов

Задача следующая:
"Создать массивы длинной 3, заполнить их случайными значениями от 0 до 9.
Количество создаваемых массивов задать вручную. Результат вывести на экран."
Проблема в том, что я не понимаю как создать определенное количество массивов, один массив создается объявлением переменной типа array, а их количество задается переменной.
__________________
Ужас, как я устал от тупизны...
rainbow вне форума   Ответить с цитированием
Старый 18.06.2014, 12:19   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6850
По умолчанию

Изучай getmem() и создание динамических массивов.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 18.06.2014, 13:03   #3
rainbow
Форумчанин
 
Регистрация: 06.09.2008
Сообщений: 156
Репутация: 26
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Изучай getmem() и создание динамических массивов.
Я что то не понял, размер динамического массива может меняться во время исполнения программы, а у меня массив одномерный, длина его фиксирована (константа) и равна 3 (допустим array[1..3] of integer), проблема в том, что надо создать заданное количество массивов, а не заданной длины. На с++ проблем бы не было с этим, там можно даже объявлять переменные в теле цикла, сколько надо, столько сделал, а тут нет.
__________________
Ужас, как я устал от тупизны...
rainbow вне форума   Ответить с цитированием
Старый 18.06.2014, 15:05   #4
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Адрес: RF Moscow
Сообщений: 5,406
Репутация: 2502

icq: 438888048
По умолчанию

Код:
type
 myarr = array [1..3] of integer;
var
  a : array [1..10] of myarr;
Осталось только вместо "a" сделать динамически выделяемый массив.
__________________
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума   Ответить с цитированием
Старый 18.06.2014, 15:21   #5
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6850
По умолчанию

Цитата:
проблема в том, что надо создать заданное количество массивов, а не заданной длины.
Вот именно. Заданное количество массивов это и есть динамический двумерный массив.
Цитата:
На с++ проблем бы не было с этим, там можно даже объявлять переменные в теле цикла, сколько надо, столько сделал
Показывай как на Си.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 19.06.2014, 06:22   #6
rainbow
Форумчанин
 
Регистрация: 06.09.2008
Сообщений: 156
Репутация: 26
По умолчанию

Проблема решена как то так:
Код:
type
 mass = array of integer;
var
  a : array of mass;
Потом выделяем памяти сколько нужно через SetLength и заполняем его.
Цитата:
Сообщение от Stilet Посмотреть сообщение
Показывай как на Си.
Там можно прямо в теле кода вставлять int a[N]={команда заполнения}
Создать массив a с количеством элементов N тип integer и заполнить его значениями, так можно сколько угодно их там сделать по счетчику.
__________________
Ужас, как я устал от тупизны...
rainbow вне форума   Ответить с цитированием
Старый 19.06.2014, 07:26   #7
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6850
По умолчанию

Цитата:
Там можно прямо в теле кода вставлять int a[N]={команда заполнения}
Увы не везде так можно )
Если не ошибаюсь это относится только к некоторым компиляторам Си. Gcc и VC к примеру такого не пропустят.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посчитать количество строк содержащих определенное слово cloud.00 PHP 1 31.03.2012 12:25
Добавление к строке определенное количество пробелов Jetro Общие вопросы Delphi 4 10.12.2011 16:22
Остановка программы на определенное количество времени. AIR_3 Помощь студентам 2 02.06.2011 02:52
Как считать определенное количество букв из слова Poltev86 Общие вопросы Delphi 2 22.05.2010 17:47
ссылка через определенное количество строк chaostt Microsoft Office Excel 7 03.04.2009 18:14


21:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.