![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| Innuendo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 24.12.2005 Где: Молдова Репутация: нет Всего: 6 |
Был сёдни на олимпиаде нашей
вот возникли тогда проблемы: 1) при создании массивов- что ему не нравилось:
ну мне надобыло 250,а не 50, но он писал что structure is too long. Но почему при такой структуре, он писал что too many variables... чё эть такое? и всё, что у меня не получилось, было связано ен с правильностью ашлоритмов, а с тем что вводимые данные были большущие (файл с милионном значений и т.д.). Дайте плз какую-нить статейку про это дело. Как в паскале работать, и переберать такое большое кол-во данных? Заранее спасибо. Это сообщение отредактировал(а) Innuendo - 18.2.2006, 18:09 -------------------- =) |
|||
|
||||
| Rencom |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 27.9.2005 Репутация: нет Всего: нет |
structure is too long - структура слишком длинная... хм... мб памяти не хватило под стринг, надо было попробовать ограничить стринг скажем символами 50 - string[50].
|
|||
|
||||
| Innuendo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 24.12.2005 Где: Молдова Репутация: нет Всего: 6 |
можно.. а вот, что такое too many variables?
-------------------- =) |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: нет Всего: 78 |
то же самое, что и structure...
Не хватает памяти для размещения переменных... За каким компом сидел? -------------------- Ll 2 |
|||
|
||||
| Innuendo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 24.12.2005 Где: Молдова Репутация: нет Всего: 6 |
да я вообще в шоке.
короче сначала повели в актовый зал... Это типа городская 2-ой тур, поэтому в республиканском колледже информатике. Их директор пол часа свистел, какие у них компы, какие учителя (всё на молдавском, я мало чё понял) и т.д. А когда меян послал в кабинет, то я компы менял- мониторы то царапангные, то слюнявые, то паскаль не идёт... Сел за комп, так когда делал слежку через Watches, он переходил со стрки на строку секунды 2.. это ужас... Там селероны под пень 3-ий стоит... у нас в школе на дохлых 333 мгц и то watches быстро работает. у меня не получалось объявить этот массив, я встал и ушел... Ничего кроме Паскаля не разрешили. -------------------- =) |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
просто в DOS размер структуры не может превышать 64кб.
А медленно из-за корявой виртуальной машины в XP. Под XP все DOS программы работают медленно,если не поставить лечилку от ненужной нагрузки. А так DOS машина есть 100% ресурса процессора. Отсюда и тормоза. |
|||
|
||||
| Innuendo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 24.12.2005 Где: Молдова Репутация: нет Всего: 6 |
ок... с этим ясно...
а как вот надо ыло решить задачу, в которой из файла считывается пол милионна чисел? ну в массив их не загонишь... то есть надо проводить действия прям в файле как-то? есть инфа какая-то на эту тему? -------------------- =) |
|||
|
||||
| armageddon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 9.11.2005 Где: 239 Репутация: нет Всего: нет |
почему в массиве не получится? они же числа так, что должно получится, смотря в каких считывать числа, например для вывода их на экран, как только нашел число, так сразу его и выводи,
а на самом для каких нужд тебе нужно считывать числа? |
|||
|
||||
| Innuendo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 24.12.2005 Где: Молдова Репутация: нет Всего: 6 |
ну вот такая задача:
в файле находится последовательность чисел (до пол миллиона). Все числа повторяются чётное кол-во раз, а одно число повторяется нечетное кол-во раз. Вот его и надо вывести. алгоритм простейший (если файл перегнать в массив), а как пол миллиона чисел перегонишь? -------------------- =) |
|||
|
||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
Innuendo, числа целые? Или вещественные?
Если целые, то тебе вообще не нужен массив - простой XOR (по порядку читаешь числа и XOR-ишь их друг с другом в какой-то переменной, изначально равной 0... ) В результате у тебя после всех этих XOR-ов в переменной останется число, встречающееся нечетное число раз (ибо все четные друг друга "удалят") |
|||
|
||||
| Innuendo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 24.12.2005 Где: Молдова Репутация: нет Всего: 6 |
volvo877, да, целые...
можно поподробней? я не совсем понял -------------------- =) |
|||
|
||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
массив - только для удобства... Представь, что ты читаешь числа напрямую из файла... |
|||
|
||||
| Innuendo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 24.12.2005 Где: Молдова Репутация: нет Всего: 6 |
я, правда, не чень понимаю, что такое xor. Ну это или какое-то...(вот именно что какое-то)
-------------------- =) |
|||
|
||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 2 Всего: 116 |
XOR - исключающее ИЛИ (еще называется "сложение по модулю 2"): возвращает 0, если оба аргумента равны, и 1 если аргументы различны... Особенность XOR - если применить ее дважды к одной и той же переменной, то переменная восстановит свое первоначальное значение:
A = (A xor B) xor B вот тебе пример: A = 0000 = 0 B = 0101 = 5 делаем A xor B: 0101 еще раз применяем xor B к предыдущему результату: 0101 xor 0101 = 0000... На жтом и построен тот алгоритм, который я предложил: все ПАРНЫЕ (ну, и встречающиеся четное число раз) числа при XOR-е друг друга превратят в 0, а останется, естественно, только одно непарное - то есть то, что встречается НЕчетное число раз |
|||
|
||||
| Innuendo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 24.12.2005 Где: Молдова Репутация: нет Всего: 6 |
ну понял чутос, но всё равно не совсем понял.
Наверное пойму как это работает через watches, только TMT pascal чё-то глючит, не выдает wathces:( тока вот я попробовал в программе, добавить 2 элемента в массив: 3, и 7.. и получается трйока стала парной, а семёрка уже не парная.. но он всё равно пишет 3. (длину массива я тоже подредактировал)
вот так он всё равно пишет тройку как результат Это сообщение отредактировал(а) Innuendo - 19.2.2006, 11:19 -------------------- =) |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |