IPB

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

9 страниц V  « < 6 7 8 9 >  
Reply to this topicStart new topic
> Разбор решений, Для тех, кто сечет в ПАСКАЛЕ
Shmatko
сообщение 22 May 2006, 14:49
Сообщение #141

Прапор пожизненно
Сообщений: 775
Спасибо сказали: 15 раз




О, сэнкс!


--------------------
Hero: Dragon, you're evil, bad, bad and evil !
Dragon: No!
Hero: Yes!
Dragon: Ok, yes!
Hero: NOOOOOOOO!!!
Go to the top of the pageAdd Nick
 
+Quote Post
orgus
сообщение 24 May 2006, 09:35 (Сообщение отредактировал orgus - 24 May 2006, 21:25)
Сообщение #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 позно отвечаю, приболелsmile.gif
Go to the top of the pageAdd Nick
 
+Quote Post
Darth_Beleg
сообщение 24 May 2006, 16:01 (Сообщение отредактировал Darth_Beleg - 24 May 2006, 16:05)
Сообщение #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!
Go to the top of the pageAdd Nick
 
+Quote Post
orgus
сообщение 24 May 2006, 21:19 (Сообщение отредактировал orgus - 24 May 2006, 21:37)
Сообщение #144

banned banned banned
Сообщений: 496
Спасибо сказали: 3 раза




не диапазон тут не при чем, решение верное. Непонимание вызвало то что допускаете ситуацию когда число перескакивает за приделы сотни и после div 10 получаем число > 9 (когда столбиком перемножаем на бумаге так не делаем), но это не страшно так как остаток от деления же остается а остальное потом все равно будет обработано, болею соображаю тугоsmile.gif гы у вас олимпиадники три поколения подряд одно и тоже пишут? (шутююю, просто задача не для олимпиад)
PS у меня и у Bourn столбик реализован так как будто его делают по всем правиламsmile.gif эт от того что пришлось вспоминать что это такое.
Go to the top of the pageAdd Nick
 
+Quote Post
Darth_Beleg
сообщение 25 May 2006, 22:35
Сообщение #145

Undead elven necromancer
Сообщений: 195
Спасибо сказали: 15 раз




Просто задача иногда в комбинаторных числах выплывает - а хороший код учится наизусть. Тем более, что и в чистом виде встречал.
Впрочем, вологодские олимпиадники пишут как вы (судя по книге Ф. Меньшикова) - я даже удивился.


--------------------
Jesus saves... and takes half damage!
Go to the top of the pageAdd Nick
 
+Quote Post
orgus
сообщение 27 May 2006, 11:44 (Сообщение отредактировал orgus - 27 May 2006, 12:21)
Сообщение #146

banned banned banned
Сообщений: 496
Спасибо сказали: 3 раза




я на олимпиадах не был ... эээээ ... ну лет 10:) ездил конечно, правдо было сложно что либо выйграть так как тяжеловато писать олимпиадные задачи зная лишь dbase3 Карат и Клиперsmile.gif учитель у нас был разработчиком баз данных... хотя теорию не плохо преподал. Да и образование подводило... забавно было сидеть и прямо на олимпиаде разбираться что же такое польская запись ибо в нашей школе такого как то не преподавали.
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 11 Jul 2006, 15:59
Сообщение #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

Спасибо за вникание
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 13 Jul 2006, 09:37
Сообщение #148

В миру GrayFace
Сообщений: 2 529
Спасибо сказали: 817 раз




Это тебе для себя или на проверку? Алгоритм попроще или пооптимальнее? А если дублей больше 2 че делать?


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 13 Jul 2006, 13:37 (Сообщение отредактировал izrukvruki - 13 Jul 2006, 13:40)
Сообщение #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
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 13 Jul 2006, 18:44
Сообщение #150

В миру GrayFace
Сообщений: 2 529
Спасибо сказали: 817 раз




А Дельфи не подойдет? (по синтаксису есть мелкие расширения, я делать в нем буду, потом подправлю/ишь если че)


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 13 Jul 2006, 21:23
Сообщение #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. А плюсик не сможешь поставить beee.gif smile.gif


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
Bourn
сообщение 13 Jul 2006, 21:42
Сообщение #152

Immortal
Сообщений: 2 415
Спасибо сказали: 60 раз




Цитата(sergroj @ 13 Jul 2006, 22:23)
P.S. А плюсик не сможешь поставить beee.gif smile.gif

плюсик тому кто раздает минусы smile.gif


--------------------
Не лезь в дела Мудрых. Понять - не поймешь, а хлопот не оберешься.
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 14 Jul 2006, 13:00
Сообщение #153

Князь Бореи
Сообщений: 5 171
Спасибо сказали: 1349 раз




На самом деле, вообще неважно 8значное число ai или нет. На это акцент делать не надо.
Надо чтоб работало и на 8 и на 4 и на людом др. числе знаков и даже может и на словах. А как выбрать в какой папке лежит файл Rask.txt? Можно ли вводит полный путь проверяемого файла и указать куда сохранять файл отчета? Типа d:\temp\AAAA.txt а файл отчета d:\temp\err_AAAA.txt
И скомпилировать еще можно?

а плюсик посталю, как токо от минусика отойдешь biggrin.gif
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 14 Jul 2006, 18:38
Сообщение #154

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




Цитата(sergroj @ 13 Jul 2006, 22:23)
Восьмизначная цифра не может равняться -1?

shum_lol.gif
а вообще цифра может иметь значение в диапазоне 0-9 включительно.
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 14 Jul 2006, 20:42
Сообщение #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)
shum_lol.gif
а вообще цифра может иметь значение в диапазоне 0-9 включительно.

Ну тут уж каждому свое. По мне дак от 0 до F. smile.gif


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 14 Jul 2006, 21:02
Сообщение #156

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




Цитата(sergroj @ 14 Jul 2006, 21:42)
Ну тут уж каждому свое. По мне дак от 0 до F. smile.gif

Ну уж никак не меньше 0.
У некоторых от 0 до 1 shum_lol.gif
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 17 Jul 2006, 09:12
Сообщение #157

Князь Бореи
Сообщений: 5 171
Спасибо сказали: 1349 раз




Наверно я некорректно поставил задачу.
Дан список

имя1 список1
имя2 список2
....
имя10000 список10000

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

т.е. если имя1=имя100=имя150 то выдать

дубли
имя1 список1, имя100 список100, имя150 список150
....

Тип имя и список - строковый
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 17 Jul 2006, 15:07
Сообщение #158

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




это легко
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 23 Jul 2006, 01:23
Сообщение #159

В миру GrayFace
Сообщений: 2 529
Спасибо сказали: 817 раз




Дак все-таки
имя1 список1, имя100 список100, имя150 список150
или
имя1 список1 и имя100 список100 и имя150 список150?
И еще большие буквы от маленьких отличать?


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 24 Jul 2006, 09:19
Сообщение #160

Князь Бореи
Сообщений: 5 171
Спасибо сказали: 1349 раз




1) выдавать список как угодно (через запрятую или через "и")
2) лучше отличать (М от м)
Go to the top of the pageAdd Nick
 
+Quote Post

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

 



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