Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2015, 15:25   #1
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Восклицание Массив

Добрый день!

Помогите пожалуйста, у меня в программе есть такая запись
Код:
var 
   a, b: array of string;
Не является ли такая запись ошибкой? Просто в прошлый раз сделала безразмерный массив, преподаватель сказал что это ошибка, и программа вообще не должна была работать. Но программа работала. Подскажите пожалуйста
Maray вне форума Ответить с цитированием
Старый 11.01.2015, 15:54   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это два указателя на динамические массивы. Без SetLength у них нулевая длина. Программы возможно и работала, но думаю не правильно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.01.2015, 16:18   #3
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Это два указателя на динамические массивы. Без SetLength у них нулевая длина. Программы возможно и работала, но думаю не правильно
Программа как раз работала правильно. Это очень удивило преподавателя. То есть, так можно писать, это не является ошибкой?
Maray вне форума Ответить с цитированием
Старый 11.01.2015, 16:32   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Все что понимает компилятор писать можно.
А как эти массивы использовались в программе? Кодом покажи
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.01.2015, 16:41   #5
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Все что понимает компилятор писать можно.
А как эти массивы использовались в программе? Кодом покажи


Да вот в этой записи программа. http://www.programmersforum.ru/showthread.php?t=271597
Неправильно как то выводит
Maray вне форума Ответить с цитированием
Старый 11.01.2015, 16:47   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не является ли такая запись ошибкой?
Нет. Не является.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.01.2015, 16:49   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну вывела совпадающую строку, а все начиная c if flag=false then зачем? А препод наверно не знает, что кроме турбо паскаля есть и более современные, в которых динамические массивы допускаются
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.01.2015, 17:08   #8
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну вывела совпадающую строку, а все начиная c if flag=false then зачем? А препод наверно не знает, что кроме турбо паскаля есть и более современные, в которых динамические массивы допускаются
Это только часть программы. Вообще задание звучит так: Даны файлы f и g. Записать в файл h все совпадающие строки файлов f и g, если таких строк нет, то в файл h записать строки из файлов f и g, чередуя их, начиная с первой из файла f.

Мне бы просто с первой частью программы разобраться, а то не так выводит. Преподаватель говорит, что раз изучаем FreePascal то будьте добры делать всё под него
Maray вне форума Ответить с цитированием
Старый 11.01.2015, 17:53   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну он еще не знает, что FreePascal как раз и допускает динамические массивы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.01.2015, 18:38   #10
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну он еще не знает, что FreePascal как раз и допускает динамические массивы
Ну, тут я не имею права указывать преподавателю(. Как говорит, так и приходится делать. Спорить себе дороже)
Maray вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование в VBA: двумерный массив M на N, нужно создать новый одномерный массив TheAnnihilyator Помощь студентам 1 04.06.2014 09:16
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02