|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
||||||
как зделать так чтобы прога не висла06.01.2010, 21:06. Показов 6473. Ответов 60
Метки нет (Все метки)
такая вот прога:
то прога за 2 сек решает но мне то нужно 26 попутный вопрос:можно ли как нибудь ввести в массив английский алфавит не так как я(нудно знаете писать)
0
|
||||||
| 06.01.2010, 21:06 | |
|
Ответы с готовыми решениями:
60
Как зделать чтобы в место DATA использовать кнопки?
Как зделать чтобы было видно иконка работающей программы в правом нижнем углу |
|
0 / 0 / 1
Регистрация: 19.10.2008
Сообщений: 173
|
||||||
| 10.01.2010, 13:34 | ||||||
|
> спасибо за подсчет
Та ни за шо ))Я покажусь тупым, но твоя прога, лишь заполняет массив в цикле символами лат. алфавита. Это конечно лучше, чем вбивать их ручками, но я не увидел самого решения проблемы. Я тут на досуге нашел как решить твою задачку рекурсией, но раз ты ее уже решил сам(где?я не увидел!?), значит постить не надо. Так просто, на будущее: Заметь, что читать (с сайта, а не из ящика)
dim i=1 for i=1 to 10 if msgbox('Дальше?',vbYesNo)=vbNo then exit for end if next i не так ли?
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
|
| 10.01.2010, 20:23 [ТС] | |
|
to t-80
А эти строки тож ничего не делают? Private Sub Command1_Click()n = InputBox('ВВЕДИТЕ НОМЕР БУКВЫ') perv = 26 - n Print strLetters(perv) End Sub
0
|
|
|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
|
| 10.01.2010, 20:26 [ТС] | |
|
мож чуть не по теме но
как делать так как вы(ты?) указали а то у меня чето пробелы удаляются
0
|
|
|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
|
| 10.01.2010, 20:28 [ТС] | |
|
упс ошибка в пред последнем ответе правильно так:
to t-80 А эти строки тож ничего не делают? Private Sub Command1_Click() n = InputBox('ВВЕДИТЕ НОМЕР БУКВЫ') perv = 26 - n Print strLetters(perv) End Sub
0
|
|
|
0 / 0 / 1
Регистрация: 19.10.2008
Сообщений: 173
|
||||||
| 11.01.2010, 09:24 | ||||||
|
Можешь смело 'тыкать'
)))).Я всегда пишу code в [] на отдельной строке. Насколько я разобрался, то приведенный код лишь выдает символ по номеру в заданной последовательности(в твоем случае англ. алф). то, есть 1=a, 2=b, 3=c и тд. Если я не прав, то объясни, пожалуйста, на пальцах найденное тобой решение, а я что-то никак не въеду (Кстати, чтобы определить какой символ какому числу соответствует, необязательно создавать массив :
)))
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
|
| 11.01.2010, 17:19 [ТС] | |
|
В общем так:
сначало я заметил что у A в первом шаге позиция №1 во втором 2 в третьем 3 значит для того чтобы найти какая буква скрывается за заданным числом нужно найти шаг последавательности в котором она впервый раз встречается(он будет совпадать с номером буквы в алфавите) а его можно найти так: perv=26-n,где perv - номер шага где первый раз встречается буква, 26 - кол-во шагов, n - заданный номер вроде все если че непонятно пиши на dformail@MAIL.RU
0
|
|
|
0 / 0 / 1
Регистрация: 19.10.2008
Сообщений: 173
|
|
| 11.01.2010, 18:37 | |
|
Угу, очень интересно, но непонятно.
Твоя программа что, как входное данное использует номер шага, на котором добавляется искомый символ? А в чем тогда прикол, э... то есть смысл задания? Ну правда, непонятно! Как я понял из описания задания надо найти символ, стоящий ну скажем на 123456-ой позиции в ЧУГ-строке(или я не прав?). Тогда, как определить шаг на котором был добавлен символ, который стоит на 123456-ой позиции в ЧУГ-строке? >сначало я заметил что у A в первом шаге позиция №1 во втором 2 ... А еще на втором шаге А стоит на третьей позиции, а на 4-м на 3,4,6,7,10,11,13,14 -ой, а не только на третьей, на это что гвоздь забит? И вообще, количество 'А' в ЧУГ-строке это 2 в степени 13, но это так, к слову. Ну да фиг с ним, с 123456 ))), давай определим символ, стоящий на 27-ой позиции (я не расписывал эту строку, но мне почему-то кажется, что это 'a' )) ). 26-27=-1, давай-ка посмотрим, какой символ латинского алфавита стоит на (-1)-ой позиции ))). >значит для того чтобы найти какая буква скрывается за заданным числом нужно найти шаг последавательности в котором она впервый раз встречается(он будет совпадать с номером буквы в алфавите) А вот это, как раз, очень здравая мысль! PSS: не хочу я мылить!, пусть все знают какой я тормоз!!!
0
|
|
|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
|
| 11.01.2010, 20:54 [ТС] | |
|
даа мое решение годится не для всех случаев
а кстати как ты решил ее рекурсиеей??? p.s Нет!! этл я тормоз
0
|
|
|
0 / 0 / 1
Регистрация: 19.10.2008
Сообщений: 173
|
|
| 12.01.2010, 09:50 | |
|
Ну, вот, я то думал, что ты нашел более элегантное решение, чем я, хотел выпытать.
По поводу рекурсии: это с моей точки зрения как программера, а вообще-то можно и без нее; в нек. литературе ей вообще не советуют пользоваться. Я не претендую на то, что мое решение абсолютно и единственно верно ))Итак, приступим. >значит для того чтобы найти какая буква скрывается за заданным числом нужно найти шаг последавательности в котором она впервый раз встречается(он будет совпадать с номером буквы в алфавите) Я тоже от этого отталкивался, но ты не подметил одну вещь, для примера рассмотрим строку, полученную на 4-м шаге (почему на 4-м? на третьем -еще ничего нельзя увидеть, а на пятом уже ничего нельзя увидеть ))) ) :dcbaabaacbaabaa А если так?: d cbaabaa cbaabaa Нет? все равно не понятно? Тогда так: dcbaabaacbaabaa => d cbaabaa cbaabaa cbaabaa => c baa baa baa => b a a a => усе, дальше почковаться некуда. Сейчас надо радостно прыгать и кричать: 'Ура, допетрил!!!', но я на всякий случай продолжу. Смысл всего вышеприведенного таков: любая строка, кроме полученной на первом шаге, может быть представлена как сумма трех строк : - один символ, добавленный на последнем шаге - две одинаковые строки, полученные на предыдущем шаге. Тогда, вкратце, алгоритм таков: Предположим, что у нас есть ЧУГ-строка, реально мы ее строить не будем, а предполагать мы можем что угодно ))).Пусть длина ЧУГ-строки =N (67 108 863 символов), а найти нам надо i-й элемент. Сначала посмотрим, i=1? (ура решение найдено, это 26-(номер шага) символ!), если это не так - делим ЧУГ-строку на три подстроки и определим какая из двух последних строк содержит в себе i-й искомый элемент: если i>(N-1)/2, то во второй, иначе - в первой. Затем отнимаем от кол-ва шагов 1, и вместо ЧУГ-строки делаем все вышеописанное над подстрокой из ЧУГ-строки, помня о том, что строка может начинаться либо с 2 до (N-1)/2, либо с ((N-1)/2)+1 до N. И сравнивать i надо теперь с 2 или с ((N-1)/2)+1. И так продолжать до победного, то есть пока для какой-то подстроки i не совпадет с первым символом этой подстроки, и по кол-ву шагов определить, что это за символ. ВСЕ. А надо ли прикручивать сюда рекурсию, думай сам. Текст проги, реализующей этот весь маразм раза в три меньше описания, но писать программы(кодировать) не так интересно, как придумывать алгоритмы. Если напишешь код для этого чуда, то ,плиз, писни сюда работает или нет. PS to All other: Блин, я разочарован вами, господа программеры, решение ентой задачки заняло у меня мин 15, неужели у вас настолько размякли мозги? Или лень? Задачка-то, хоть и олимпиадная, но (наверное?) школьная, и не решить ее было бы просто стыдно. Вот подрастет наша смена, а местов начальников отделов и руководителей проектов на всех не хватит, и будем мы с вами пирожками торговать... в лучшем случае.
0
|
|
|
Ghost
|
|
| 12.01.2010, 10:30 | |
|
2 t-80 : изучение существующих и разработка новых алгоритмов - это действительно то, из-за чего я стал разработчиком. А по поводу данного конкретного случая - посмотри на задачу - явно академическая. Похоже, что студенту её задали, так что для него это не творчество, а принудиловка. Отсюда и подход.
|
|
|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
|
| 12.01.2010, 10:44 [ТС] | |
|
Допустим не студенту а ученику 10 класса и не задали а сам в инете нашел
так что не принудиловка
0
|
|
|
0 / 0 / 1
Регистрация: 19.10.2008
Сообщений: 173
|
|
| 12.01.2010, 11:28 | |
|
2 Ghost: Та же фигня,
))), тк суть программирования - творчество, а это себе могут позволить люди далеко не любой проффессии(ИМХО), да еще и намного баблосов за это иметь .2 goldseeker: Молодец, конечно что озадачиваешь себя, только это задачка не столько по программированию, сколько по 'алгоритмическому мышлению'. Вот и косвенный ответ на вопрос, 'какой же язык выбрать', так как главное состоит в разработке алгоритмов, а не в их 'кодинге'. А известный алгоритм можно реализовать хоть на чём. Кодинг-занятие не творческое и не интересное. Но, если ты не сможешь придуманный алгоритм выразить в коде - то это тоже совсем не Good. Често говоря, думал что ты еще помоложе )).
0
|
|
|
Ghost
|
|
| 12.01.2010, 11:41 | |
|
2 goldseeker - тогда мои регардсы.
к сказанному t-80 хочу добавить - чистые кодеры не всегда нужны и это такое-же скучное занятие (ИМХО) как и хождение по граблям. |
|
|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
|
| 12.01.2010, 11:41 [ТС] | |
|
тут еще одно обстаятельство дело в том что я занимаюсь программированием ок. 3 месяцев так что думаю усе еще впереди
0
|
|
|
Ghost
|
|
| 12.01.2010, 11:44 | |
|
Оптимистичный прогноз звучит так - вскрытие покажет ))))
|
|
|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
|
| 12.01.2010, 12:01 [ТС] | |
|
to t-80
я конечно уже всех достал но: 1 как ты определил N (67 108 863 символов) 2 'если это не так - делим ЧУГ-строку на три подстроки и определим какая из двух последних строк содержит в себе i-й искомый элемент' ведь две последние строки одинаковы следовательно он будет либо содержатся либо нет в обоих 3'Затем отнимаем от кол-ва шагов 1, и вместо ЧУГ-строки делаем все вышеописанное над подстрокой из ЧУГ-строки, помня о том, что строка может начинаться либо с 2 до (N-1)/2, либо с ((N-1)/2)+1 до N. И сравнивать i надо теперь с 2 или с ((N-1)/2)+1. И так продолжать до победного, то есть пока для какой-то подстроки i не совпадет с первым символом этой подстроки, и по кол-ву шагов определить, что это за символ.' это я вообще не понял p.s черт мне указал на енту задачку
0
|
|
|
0 / 0 / 1
Регистрация: 19.10.2008
Сообщений: 173
|
|||||||||||
| 12.01.2010, 13:55 | |||||||||||
|
Понятно, что ничего не понятно
)))ЧУГ - Чудовищно Ужасно Громадная строка, сформированная как описано в задании )))1. N=(2 в степени 26)-1 - длина ЧУГ-строки, но я могу и ошибиться, проверь обязательно. 2. i-й элемент это не буква, это позиция в ЧУГ-строке, а нам надо определить какая буква там нах-ся. Поясню на примере. Пусть мы используем не 26, а 4 символа, тогда: ЧУГстрока= 'dcbaaBaacbaabaa'; длина =(2 в степени 4)-1=15,согласен? Найдем, какой символ стоит на 6-ой позиции(i=6), это 'B', но мы то этого не 'знаем'. (Шаг 4) Так как i<>1, то Бъем строку на три подстроки:
от 2 до 8 - первая строка от 9 до 15- вторая строка 6>=2, но 6<=8, значит 6-ой символ в первой подстроке (Шаг 4-1=3) Так как номер первого символа в строке 2<>i(6), то продолжим, бъем дальше:
вторая строка : с 6-го по 8-ой 6>=3 и 6<=5 - брехня )), значит 6>=6 и 6<=8 , значит i-ый символ во второй строке (Шаг 2) i(6)=первому символу в подстроке 'Baa', Все!!! , так как полученная строка 'Baa' была получена на (Шаг 2), и символ 'b' здесь был добавлен впервые, то следовательно символ, стоящий на i-й(6-ой) позиции в ЧУГ, это 2-ой символ взятого 4-х значного алфавита 'abcd', а это 'b'. PS: Получилось довольно-таки коряво, но из меня плохой объясняльщик. Как собака, все понимает, а сказать не может ))) PSS: Формирование ЧУГ нету ни в какой форме! Здесь она приведена для понятности! Мы оперируем лишь числами-позициями символов в строке, а также числами-позициями начала и конца подстрок. Саму ЧУГ-строку можно рассматривать как подстроку, которая начинается с 1-го символа, а заканчивается см. выше, отсюда и идея сделать рекурсию. Если предпоследнее предложение не понятно, забей на него ))
0
|
|||||||||||
|
0 / 0 / 1
Регистрация: 19.10.2008
Сообщений: 173
|
||||||
| 13.01.2010, 11:16 | ||||||
|
Просьба сильно не бить ногами, ранее мною были допущены ошибки, исправляюсь
)) держи код (сделай на форме кнопку Command1), который это все реализует:
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 131
|
|
| 15.01.2010, 19:23 [ТС] | |
|
огромное спасибо за код сам ну никак :-(((
разберусь отвечу элементарно ли
0
|
|
|
Ghost
|
|
| 15.01.2010, 21:06 | |
|
2 t-80 - я бы убил за такой код - нифига не понятно )))
Если быть точнее - понятно, что goldseeker'у именно такой код и надо давать, но ты не мог сделать его с исключениями? Бросил Exception - и все довольны ))) 2 goldseeker - Вдогонку - VB(A) - язык, канэшна, общедоступный, но, может, есть смысл обратить сразу внимание на C#/VB.NET? Ибо приучившись к дурному стилю, показанному t-80, потом отучаться тяжко. А если серъезно - в коде t-80 с точки зрения VB(A)-шника все написано грамотно (стилистически - правильность кода не проверял) - отступы, подсказки, нет GOTO, есть рекурсия. Кстати - о рекурсии - её можно разложить в цикл (по определению), тогда стековая память так жраться не будет. ))) |
|
| 15.01.2010, 21:06 | |
|
Как зделать так чтобы по нажатию на кнопку компьютер выключался? Как зделать так, чтобы событие OnLOad обрабатывалось только один раз? Можно ли зделать так, чтобы строчка имела такую же ширину как и предыдущая строчка? Как сделать так, чтобы прога имела доступ к реестру на чтение и запись (Vista, seven) прога.exe файл как это зделать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|