IPB

Здравствуйте, гость ( Вход | Регистрация )

9 страниц V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> Алгоритмы и формулы
gamecreator
сообщение 23 Jan 2009, 17:50
Сообщение #101

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




exit. но скорей всего он не закроется до завершения проги. тогда используй мою прогу для запуска приложений. она создает отдельный процесс и закрывается.

почитать команды можно так:
пуск-выполнить-cmd-help
Go to the top of the pageAdd Nick
 
+Quote Post
Shaidar Haran
сообщение 23 Jan 2009, 18:57
Сообщение #102

Оранжевый Канцлер Тьмы
Сообщений: 2 344
Спасибо сказали: 618 раз




Цитата(gamecreator @ 23 Jan 2009, 19:50)
пуск-выполнить-cmd-help

Проще "help > c:\help.txt", и потом читать из файла.


--------------------
I am the fury in your eyes. I am reason, I am vice.
Careful what you say
You may regret it,
Careful what you wish
You just might get it.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
         
сообщение 23 Jan 2009, 19:12
Сообщение #103

God
Сообщений: 263
Спасибо сказали: 121 раз




Ну вы даёте товарищи smile.gif
start ... без ожидания процесса.
Go to the top of the pageAdd Nick
 
+Quote Post
DracoLich
сообщение 16 Jun 2009, 14:47
Сообщение #104

Banished
Сообщений: 1 782
Спасибо сказали: 116 раз




Нужно сортировать список из файла, не изменяя в конечном итоге файл. Число записей в файле неограниченно (теоретически), поэтому заносить в массив не получается. Подскажите, как можно реализовать сортировку налету. Язык С++


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Gloin
сообщение 16 Jun 2009, 18:24
Сообщение #105

thick as a brick
Сообщений: 898
Спасибо сказали: 23 раза




Заноси в список.
Go to the top of the pageAdd Nick
 
+Quote Post
Монца
сообщение 16 Jun 2009, 22:38
Сообщение #106

good news, everyone!
Сообщений: 918
Спасибо сказали: 93 раза




Если оперная память неограничена, то используй какие нить динамические типы данных: список, массив или еще чего.


--------------------
этъя опять
Go to the top of the pageAdd Nick
 
+Quote Post
DracoLich
сообщение 19 Jun 2009, 17:11
Сообщение #107

Banished
Сообщений: 1 782
Спасибо сказали: 116 раз




Может кому-нибудь известен еще способ? Динамический массив тоже забраковали sleep.gif


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Монца
сообщение 19 Jun 2009, 20:14
Сообщение #108

good news, everyone!
Сообщений: 918
Спасибо сказали: 93 раза




А список чего? можно использовать операционную систему) создавать файлы с именами списка (ОС их отсортирует). Это если элементы списка строки, которые могут являться именами файла. Можно использовать БД. Формулировка задачи непонятна.


--------------------
этъя опять
Go to the top of the pageAdd Nick
 
+Quote Post
Gloin
сообщение 19 Jun 2009, 20:49
Сообщение #109

thick as a brick
Сообщений: 898
Спасибо сказали: 23 раза




Ясен пень, массив забраковали.
Go to the top of the pageAdd Nick
 
+Quote Post
Guevara-chan
сообщение 19 Jun 2009, 20:53 (Сообщение отредактировал Chrono Syndrome - 19 Jun 2009, 21:04)
Сообщение #110

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5936 раз




Цитата
Может кому-нибудь известен еще способ? Динамический массив тоже забраковали

Забраковали только использование стандартных средств для работы с массивами данных или в принципе данную ветку методов решения ? Просто динамический массив можно проэмулировать через выделение участка памяти и дальнейшую работу с ним напрямую. Еще, если хочется блеснуть неординарностью выбираемых подходов и широтой знаний, можно задейстовать hash-таблицу). Но скорее всего хотят именно связанный список, да.


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post
Gloin
сообщение 19 Jun 2009, 21:03
Сообщение #111

thick as a brick
Сообщений: 898
Спасибо сказали: 23 раза




А вы что ли обычно накривую с динамическими массивами работаете?

Добавлено ([mergetime]1245434604[/mergetime]):
Чо тут думать, однонаправленный список, если память позволяет, если нет - новый файл.
Go to the top of the pageAdd Nick
 
+Quote Post
Guevara-chan
сообщение 19 Jun 2009, 21:05
Сообщение #112

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5936 раз




Цитата
А вы что ли обычно накривую с динамическими массивами работаете?

Имеется в виду прямой доступ к памяти.


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post
Gloin
сообщение 19 Jun 2009, 21:08
Сообщение #113

thick as a brick
Сообщений: 898
Спасибо сказали: 23 раза




Приведи мне пример не прямого доступа к памяти с использованием динамического массива. Я тебя не понимаю. Использование функций чо ли для доступа к памяти?
Go to the top of the pageAdd Nick
 
+Quote Post
Guevara-chan
сообщение 20 Jun 2009, 08:53 (Сообщение отредактировал Chrono Syndrome - 20 Jun 2009, 09:08)
Сообщение #114

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5936 раз




Прямой доступ к памяти массива = доступ по адресу в памяти. Пример:
Код
Dim DArray.L(10)
PokeL(@DArray() + 2*SizeOf(Long), 1)
A = PeekL(@DArray() + 2*SizeOf(Long))

Непрямой доступ к памяти массива = доступ по индексу ячейки массива. Пример:
Код
Dim DArray.L(10)
DArray(2) = 1
A = DArray(2)

...В конечном итоге, разумеется, практически любые обращения к памяти транслируется в прямое, но на этапе разработки - это несколько разные вещи.


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post
DracoLich
сообщение 20 Jun 2009, 15:46
Сообщение #115

Banished
Сообщений: 1 782
Спасибо сказали: 116 раз




Цитата
А список чего? можно использовать операционную систему) создавать файлы с именами списка (ОС их отсортирует). Это если элементы списка строки, которые могут являться именами файла. Можно использовать БД. Формулировка задачи непонятна.

Нужно эмулировать работу базы данных на си. Все данные читаются из файла, где в каждой строке 4-5 параметров, и в имени файла далеко не все строки могут быть использованы, бо на символы ограничений нет.
Цитата
Забраковали только использование стандартных средств для работы с массивами данных или в принципе данную ветку методов решения?
Он стоит на своем - размер файла неограничен, использовать массивы для сохранения и сортировки тупо нельзя из-за размера.
Цитата
можно задейстовать hash-таблицу

Честно, не имею даже представления что это smile.gif
Цитата
Но скорее всего хотят именно связанный список

А это что? )


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Guevara-chan
сообщение 20 Jun 2009, 17:15 (Сообщение отредактировал Chrono Syndrome - 20 Jun 2009, 17:22)
Сообщение #116

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5936 раз




Цитата
Нужно эмулировать работу базы данных на си.

А это, простите, как ? Методы сортировки записей в разных СУБД не идентичны, вообще-то.

Цитата
Он стоит на своем - размер файла неограничен, использовать массивы для сохранения и сортировки тупо нельзя из-за размера.

Ну, вообще-то он не прав, но вопрос был не об этом: что насчет ручного выделения участка памяти (того же HeapAlloc) и дальнейшей работы с ним, как с массивом ?

Цитата
Честно, не имею даже представления что это

"Структура данных, реализующая интерфейс ассоциативного массива, что позволяет хранить пары (ключ, значение) и выполнять три операции: операцию добавления новой пары, операцию поиска и операцию удаления пары по ключу. Существует два варианта хэш-таблиц: с прямой и открытой адресацией. Хэш-таблица содержит некоторый массив H, элементы которого есть пары (хэш-таблица с открытой адресацией) или списки пар (хэш-таблица с прямой адресацией)."
(С) Wikipedia
Примечание: с определенными деталями этой формулировки можно, при желании, поспорить, но в целом она корректна.

Цитата
А это что? )

"Структура данных, состоящая из узлов, каждый из которых содержит как собственные данные, так и одну или две ссылки («связки») на следующее и/или предыдущее поле. Принципиальным преимуществом перед массивом является структурная гибкость: порядок элементов связного списка может не совпадать с порядком расположения элементов данных в памяти компьютера, а порядок обхода списка всегда явно задаётся его внутренними связями."
(С) Wikipedia
Примечание: тебе нужен именно двунаправленный список.


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 20 Jun 2009, 18:18
Сообщение #117

😸🧡✊✌️
Сообщений: 16 396
Спасибо сказали: 3231 раз




Насколько я понимаю, основная прелесть задачи состоит именно в том, что файл в ОП заведомо никак не помещается, ни одним большим массивом символов, ни связным списком, ни тем более B-деревом.
Более того, одна запись потенциально тоже не помещается.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post
Guevara-chan
сообщение 20 Jun 2009, 19:15 (Сообщение отредактировал Chrono Syndrome - 20 Jun 2009, 19:18)
Сообщение #118

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5936 раз




Цитата
Более того, одна запись потенциально тоже не помещается.

Ну, с Win32 так не получится в принципе: там просто не поддерживается чтение данных из файла напрямую в регистры процессора. Вот под DOS еще можно, при очень большом на то желании, соорудить что-то подобное, вот только я очень сильно сомневаюсь, что DrakoLich'у это под силу (ничего личного)...


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 20 Jun 2009, 23:57
Сообщение #119

😸🧡✊✌️
Сообщений: 16 396
Спасибо сказали: 3231 раз




Цитата(Chrono Syndrome @ 20 Jun 2009, 19:15)
...там просто не поддерживается чтение данных из файла напрямую в регистры процессора...

Издеваешься, что ли? А если нет, то к чему тут чтение файлов в регистры?
Если файл и даже одна запись потенциально не помещается в оперативной памяти, то не поместится и в регистре. Да и Дос с Виндовзом тут ни при чем...

Для решения задачи необходимо хорошо продумать механизм кеширования файла в памяти, желательно в нескольких буферах, организовать поиск нужной записи в файле, сравнение двух записей (напомню, переменной и, возможно, разной длины), ну и, разумеется, разработать алгоритм отображения отсортированного файла в таких вот непростых условиях.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post
Guevara-chan
сообщение 21 Jun 2009, 10:27 (Сообщение отредактировал Chrono Syndrome - 21 Jun 2009, 10:36)
Сообщение #120

•●Revolucionario●•
Сообщений: 2 467
Спасибо сказали: 5936 раз




Цитата
Издеваешься, что ли? А если нет, то к чему тут чтение файлов в регистры?

Да я просто к тому, что совсем без попадания данных записи в оперативную память обойтись в обычных условиях не удастся.

Цитата
Для решения задачи необходимо хорошо продумать механизм кеширования файла в памяти, желательно в нескольких буферах, организовать поиск нужной записи в файле, сравнение двух записей (напомню, переменной и, возможно, разной длины), ну и, разумеется, разработать алгоритм отображения отсортированного файла в таких вот непростых условиях.

Не соглашусь: кеширование, если одна запись и правда может не поместится в оперативную память, здесь совершенно излишне - достаточно одного промежуточного буфера фиксированной длины. Отображение, кстати, тут реализовать проще всего.


--------------------
life MOV.I #life+1, *life
האם יש זמן לעצור ?
Go to the top of the pageAdd Nick
 
+Quote Post

9 страниц V  « < 4 5 6 7 8 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27 July 2025 - 06:02
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика