![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#141
|
|
![]() Прапор пожизненно Сообщений: 775 Спасибо сказали: 15 раз ![]() |
О, сэнкс!
-------------------- Hero: Dragon, you're evil, bad, bad and evil !
Dragon: No! Hero: Yes! Dragon: Ok, yes! Hero: NOOOOOOOO!!! |
|
|
![]()
Сообщение
#142
|
|
banned banned banned Сообщений: 496 Спасибо сказали: 3 раза ![]() |
/*исправляюсь*/ решение верное обжалованию не подлежит ..
Добавлено ([mergetime]1148452518[/mergetime]): Цитата(Bourn @ 21 May 2006, 17:58) Цитата(orgus @ 21 May 2006, 18:26) ну тоже самое "If third(x + y) > 9 Then" если убрать ни чего страшного не будет если конечно бэйсик целочисленно делит а не округляет. всмысле ниче страшного не будет? будет тк допустим в одной ячейке будет число 15(от произведения 3*5) а в другой 3(те мы перемножали 15 и 3) и выйдет 315 вместо 45 не... убрать сам if оставив действие. При умножении ты же не проверяешь было ли число больше 9... просто оставляешь остаток а целую часть переносишь, точно так же можешь не проверять и потом. PS позно отвечаю, приболел ![]() |
|
|
![]()
Сообщение
#143
|
|
![]() Undead elven necromancer Сообщений: 195 Спасибо сказали: 15 раз ![]() |
Цитата лень паскаль ставить, что будет если число после сумирования "inc(c[i+j-1], a[ i ]*b[j])" превысит 99 ? странно смотрится последующяя попытка нормирования по модулю 10. Не берусь утверждать но на первый взгляд не верное решение. Диапазон типа integer вообще-то до 32767 в досовском паскале и до 2147483647 в Delphi. Так что ничего не случится. Нормализация - это наш нижегородский жаргонизм, по-видимому. Решение проверено тремя поколениями олимпиадников. -------------------- Jesus saves... and takes half damage!
|
|
|
![]()
Сообщение
#144
|
|
banned banned banned Сообщений: 496 Спасибо сказали: 3 раза ![]() |
не диапазон тут не при чем, решение верное. Непонимание вызвало то что допускаете ситуацию когда число перескакивает за приделы сотни и после div 10 получаем число > 9 (когда столбиком перемножаем на бумаге так не делаем), но это не страшно так как остаток от деления же остается а остальное потом все равно будет обработано, болею соображаю туго
![]() PS у меня и у Bourn столбик реализован так как будто его делают по всем правилам ![]() |
|
|
![]()
Сообщение
#145
|
|
![]() Undead elven necromancer Сообщений: 195 Спасибо сказали: 15 раз ![]() |
Просто задача иногда в комбинаторных числах выплывает - а хороший код учится наизусть. Тем более, что и в чистом виде встречал.
Впрочем, вологодские олимпиадники пишут как вы (судя по книге Ф. Меньшикова) - я даже удивился. -------------------- Jesus saves... and takes half damage!
|
|
|
![]()
Сообщение
#146
|
|
banned banned banned Сообщений: 496 Спасибо сказали: 3 раза ![]() |
я на олимпиадах не был ... эээээ ... ну лет 10:) ездил конечно, правдо было сложно что либо выйграть так как тяжеловато писать олимпиадные задачи зная лишь dbase3 Карат и Клипер
![]() |
|
|
![]()
Сообщение
#147
|
|
![]() Князь Бореи Сообщений: 5 171 Спасибо сказали: 1349 раз ![]() |
Мне нужна помощь. Нужна программка на Паскале:
Есть построковый файл rasklad.txt 12345566 12 76 32211233 3 6 55443323 5 76 77675655 4 98 44333221 7 76 .... 44333221 5 87 12345566 54 65 (структура такая: сначало восьмизначное число, пробел, короткое число (1-3 знака), пробел, короткое число (1-3 знака) нужно проверить наличие двойных восьмизначных первых чисел и получить в результате файл error.txt Дубли: 12345566 12 76 и 12345566 54 65 44333221 7 76 и 44333221 5 87 Спасибо за вникание |
|
|
![]()
Сообщение
#148
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 817 раз ![]() |
Это тебе для себя или на проверку? Алгоритм попроще или пооптимальнее? А если дублей больше 2 че делать?
-------------------- ДНК банана на 50% состоит из человека.
|
|
|
![]()
Сообщение
#149
|
|
![]() Князь Бореи Сообщений: 5 171 Спасибо сказали: 1349 раз ![]() |
Для себя. Алгоритм какой полегче реализовать. Ну пуст допишет в строку третий набор, т.е.
12345566 12 76 и 12345566 54 65 и 12345566 5 89 Первая восьмизначная цифра это наименование объекта (номер рекламного макета), вторые две ее координаты (рубрика и подрубрика, или страница и колонка), (на самом деле после восьмизначной цифры может стоять все что угодно, эти значения учитывать не надо, но привязку к восьмизначной цифры обязательно оставлять надо). Нельзя чтоб на плоскости было два одинаковых объекта в разных местах, это приводит к ошибке работы одной программы, которой я ежедневно пользуюсь. Исходный файл имеет около 8000 строк. Двойные объекты это конечно редкость, но все же иногда попадаются. Rask.txt a1 b1 a2 b2 .... a6000 b6000 (где ai возьмизначная цифра (может начинаться с нулей, 00005654), bi - строка.) если ai=aj и aj=ak то в файл error.txt записать Дубли: ai bi и aj bj и ak bk |
|
|
![]()
Сообщение
#150
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 817 раз ![]() |
А Дельфи не подойдет? (по синтаксису есть мелкие расширения, я делать в нем буду, потом подправлю/ишь если че)
-------------------- ДНК банана на 50% состоит из человека.
|
|
|
![]()
Сообщение
#151
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 817 раз ![]() |
Вот:
Код var Numbers: array[0..10000-1] of LongInt; Trash: array[0..high(Numbers)] of string; procedure DoIt; var f:Text; i,j,L,k:LongInt; was:boolean; begin i:=0; Assign(f, 'Rask.txt'); Reset(f); while not eof(f) do begin read(f, Numbers[i]); readln(f, Trash[i]); i:=i+1; end; Close(f); L:=i; Assign(f, 'Error.txt'); Rewrite(f); for i:=0 to L-1 do if Numbers[i]<>-1 then begin k:=Numbers[i]; was:=false; for j:=i+1 to L-1 do if Numbers[j]=k then begin if not was then write(f, k, Trash[i]); write(f, ' e ', Numbers[j], Trash[j]); was:=true; Numbers[j]:=-1; end; if was then writeln(f); end; Close(f); end; begin DoIt; end. А не лучше ли выводить номера совпадающих строк? Восьмизначная цифра не может равняться -1? P.S. А плюсик не сможешь поставить ![]() ![]() -------------------- ДНК банана на 50% состоит из человека.
|
|
|
![]()
Сообщение
#152
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
Цитата(sergroj @ 13 Jul 2006, 22:23) P.S. А плюсик не сможешь поставить ![]() ![]() плюсик тому кто раздает минусы ![]() -------------------- |
|
|
![]()
Сообщение
#153
|
|
![]() Князь Бореи Сообщений: 5 171 Спасибо сказали: 1349 раз ![]() |
На самом деле, вообще неважно 8значное число ai или нет. На это акцент делать не надо.
Надо чтоб работало и на 8 и на 4 и на людом др. числе знаков и даже может и на словах. А как выбрать в какой папке лежит файл Rask.txt? Можно ли вводит полный путь проверяемого файла и указать куда сохранять файл отчета? Типа d:\temp\AAAA.txt а файл отчета d:\temp\err_AAAA.txt И скомпилировать еще можно? а плюсик посталю, как токо от минусика отойдешь ![]() |
|
|
![]()
Сообщение
#154
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
Цитата(sergroj @ 13 Jul 2006, 22:23) Восьмизначная цифра не может равняться -1? ![]() а вообще цифра может иметь значение в диапазоне 0-9 включительно. |
|
|
![]()
Сообщение
#155
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 817 раз ![]() |
Цитата(izrukvruki @ 14 Jul 2006, 17:00) Надо чтоб работало и на 8 и на 4 и на людом др. числе знаков и даже может и на словах. На словах? На любом кол-ве знаков-то оно работает, но про слова говори - делать или нет. Цитата(izrukvruki @ 14 Jul 2006, 17:00) И скомпилировать еще можно? А зачем тогда Паскаль? В общем, сделаю тогда чисто на Дельфи. Цитата(gamecreator @ 14 Jul 2006, 22:38) ![]() а вообще цифра может иметь значение в диапазоне 0-9 включительно. Ну тут уж каждому свое. По мне дак от 0 до F. ![]() -------------------- ДНК банана на 50% состоит из человека.
|
|
|
![]()
Сообщение
#156
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
Цитата(sergroj @ 14 Jul 2006, 21:42) Ну тут уж каждому свое. По мне дак от 0 до F. ![]() Ну уж никак не меньше 0. У некоторых от 0 до 1 ![]() |
|
|
![]()
Сообщение
#157
|
|
![]() Князь Бореи Сообщений: 5 171 Спасибо сказали: 1349 раз ![]() |
Наверно я некорректно поставил задачу.
Дан список имя1 список1 имя2 список2 .... имя10000 список10000 Надо найти дубли имен и выдать их вместе с соответстующем списком через запятую. т.е. если имя1=имя100=имя150 то выдать дубли имя1 список1, имя100 список100, имя150 список150 .... Тип имя и список - строковый |
|
|
![]()
Сообщение
#158
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
это легко
|
|
|
![]()
Сообщение
#159
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 817 раз ![]() |
Дак все-таки
имя1 список1, имя100 список100, имя150 список150 или имя1 список1 и имя100 список100 и имя150 список150? И еще большие буквы от маленьких отличать? -------------------- ДНК банана на 50% состоит из человека.
|
|
|
![]()
Сообщение
#160
|
|
![]() Князь Бореи Сообщений: 5 171 Спасибо сказали: 1349 раз ![]() |
1) выдавать список как угодно (через запрятую или через "и")
2) лучше отличать (М от м) |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 26 September 2025 - 08:53 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|