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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2013, 11:18   #1
nati_94
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 25
По умолчанию как захватить динамически память, не зная заранее какое количество памяти надо?

С++

задание
Считайте все записи из файла "6.dat". Для чтения каждой отдельной записи осуществите динамический захват памяти. Предполагается, что к-во записей в файле заранее неизвестно.

Последний раз редактировалось nati_94; 05.03.2013 в 11:26.
nati_94 вне форума Ответить с цитированием
Старый 05.03.2013, 11:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это называется "Работа с динамическими списками"
Язык то какой?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.03.2013, 11:22   #3
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
По умолчанию

Цитата:
Сообщение от nati_94 Посмотреть сообщение
задание
Считайте все записи из файла "6.dat". Для чтения каждой отдельной записи осуществите динамический захват памяти. Предполагается, что к-во записей в файле заранее неизвестно.
Про списки, динамическую память что-нибудь слышали? Как понимаю, Паскаль, тогда ВОТ ссылочка с объяснением "who is who" и примерами, а ВОТ описание класса LinkedList в языке C#.
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 05.03.2013, 11:25   #4
nati_94
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 25
По умолчанию

там нет списков, там просто занесена информация структурой, надо ее извлечть

Последний раз редактировалось nati_94; 05.03.2013 в 11:30.
nati_94 вне форума Ответить с цитированием
Старый 06.03.2013, 22:47   #5
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
там нет списков
Правильно, там нет, это Вы должны сделать список.
s-andriano вне форума Ответить с цитированием
Старый 06.03.2013, 22:55   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
надо ее извлечть
Если заранее не известен размер то либо извлекаешь блоками, которые связываются между собой (списки), либо извлекаешь и обрабатываешь поэлементно (поблочно), не храня предидущие блоки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.03.2013, 06:38   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это называется "Работа с динамическими списками"
Язык то какой?
ТС ведь написал:
Цитата:
С++

задание
Можно испльзовать библиотеку VCL. В этой библиотеке есть класс TStringList. Он самостоятельно умеет выделять необходимую память для строк.
Можно использовать strings, он тоже выделяет память автоматически, но весь текст, представлен в виде одной строки.
Можно воспользоваться библиотекой STL, в ней есть контейнер list.
Если использовать *char, то malloc - alloc или new - delete.
Как видите, в С++ очень богатый набор команд и библиотек для динамического распределения памяти. Что конкретно нужно?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 07.03.2013, 08:56   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ТС ведь написал:
Знать бы еще, знает ли ТС о том что такое плюсплюс
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.03.2013, 09:24   #9
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Ну на Паскале это просто: чтение из типизированного файла в динамический список (например, сделать очередь). И очень сильно сомневаюсь, что в плюсах нет аналогов)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как динамически выделять память? tur91 Общие вопросы .NET 11 08.01.2013 16:48
Сканирования строк. Зная количество строк и первый элемент, это количество символов с троке. dimon9 Общие вопросы C/C++ 8 02.11.2012 22:40
Определить, какое количество цифр числа надо исправить, чтобы исправленное совпадало с обращенным к заданному числу M Krusad Паскаль, Turbo Pascal, PascalABC.NET 2 08.10.2012 12:54
динамически распределяемая память skauzer_blr Помощь студентам 3 28.05.2012 09:29
Динамически распределяемая память!! Андрей frost Общие вопросы C/C++ 6 16.05.2012 19:19