Генератор 6ти значных чисел на с++ (на крайняк делфи)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Генератор 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). Задача - из простых конечно. Но прошу помочь советом - а именно дать наводку на использование функций и т.д и т.п.
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-12 17:45:58.776666
|
|
|
dos 999
Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
|
кинь майл в личку. пришлю прогу. писал уже нечто подобное
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-12 17:51:28.583333
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
//без
#include <stdio.h>
int main() {
FILE *fp=fopen("out.txt", "w+");
for(unsigned i=100000; i<1000000; i++)
fprintf(fp, "%d\n", i);
fclose(fp);
}
//с нулями
#include <stdio.h>
int main() {
FILE *fp=fopen("out.txt", "w+");
for(unsigned i=0; i<1000000; i++)
fprintf(fp, "%06d\n", i);
fclose(fp);
}
Если я правильно тебя понял :|
|
|
|
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 <= '9'; i++)
for (int j = '0'; j <= '9'; j++)
for (int l = '0'; k <= '9'; k++)
for (int l = '0'; l <= '9'; l++)
for (int m = '0'; m <= '9'; m++)
for (int n = '0'; n <= '9'; n++){
s[0] = i; s[1] = j; s[2] = k; s[3] = l; s[4] = m; s[5] = n; s[6] = '\0';
fprintf(f, "%s%c", s, '\n');
}
fclose(f); Это только для шестизначных и быстро. Для генерации строки цифр любой длины нужна рекурсия. upd. О, если чисто для цифр, то как у kolPeeX'а даже лучше будет.
|
|
|
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ти значная последовательность начинается с новой строки. ——————– Знаю что всё это можно выполнить несколькими циклами, но в голове пока каша :)
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-12 19:44:59.620000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Чел, тебе уже всё написали… Если ты в начало строки не можешь всунуть другую - то это тебе надо таки читать умные книжки по Си для начинающих.
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 03:54:52.746666
|
|
|
AutomatiK
Сообщений: 112
Оценки: 0
Присоединился: 2008-10-16 15:56:11.326666
|
всё спасиб. это я просто к слову :D
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 12:04:48.380000
|
|
|
keys
Сообщений: 137
Оценки: 0
Присоединился: 2008-08-06 08:48:50.340000
|
for (int i = '0'; i <= '9'; i++) а если ноль справа в таблице символов ? например 1234567890 quote:
Если ты в начало строки не можешь всунуть другую - то это тебе надо таки читать умные книжки по Си для начинающих. в книжках хотя бы пишут почему переменные в глобальной области - плохой стиль (т.е. не просто пишут что это вот плохой стиль и вы это не используйте, а пишут что это плохой стиль, потому что в проге появляются связи, которые потом трудно удалить, если появляется всё больше и больше функций читающих из глобали или вообще пишущих туда, потом эти функции не вырубишь топором (расширять программу становится невозможно и приходится закрывать целую ветвь виндовс, чтобы не разбираться в своих собственных кодах спустя 10 лет)) quote:
Хочу написать генератор 6ти значных чисел rand() % 1000000 для изменения rand() исползуется srand(1), в которую вместо числа подставляется значение из time() time() работает со структурой updаtе: вчитался у kreol'а нормальный вариант, необходимо переработать часть с зависимостью от символьной таблицы, а так то что надо свой катанул, для первого условия, второе чо-то прочитал после того как написал, всё равно может интересно будет
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int i, n;
n = time(NULL);
for (i = 0; i < 50; i++) {
srand(((n+3)*2)%10000);
if ((n = rand()%1000000) >= 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]$
тут не соблюдается второе условие, насчёт каждой цифры, что уточнено во втором варианте задачи
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 12:42:24.583333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
На, почитай умник про глобальные переменные. Если случаи, когда без них вообще невозможно обойтись - http://ru.wikipedia.org/wiki/Одиночка_(шаблон_проектирования) А насчёт этого форума - то тут главное суть решения, а не то, где я объявляю переменные. Если я всё напишу через функции / локальные переменные / классы - то для новичков такой код будет сложным для понимания.
|
|
|
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-й раз уже обломался за эту тему ;), когда тебе надоест уже?
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 20:41:48.863333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: _SaZ_ Достаточно? Если есть мозг и интернет - то можно всему научиться. Вот если мозга недостаточно и сам не в состоянии разобраться - то приходится искать хорошие книги, где вся инфа подаётся разжёванной, на блюдичке. "Искусство Программирования" Кнута - это хорошая книга? Кормен? СИКП? :)
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-13 23:00:10.566666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Я в книгах оставлял ссылку на хорошую по Си. Поищи, если интересно =).
|
|
|
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С на Си переписать?! Хотелось бы не только "рыбу", но и "удочку" заиметь: где что почитать, где компилятор взять для начинающих по Си. Заранее благодарю.
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 16:13:17.576666
|
|
|
Barkass$
Сообщений: 1854
Оценки: 40
Присоединился: 2008-11-11 12:19:45.216666
|
Ужас ужас [&:] rus явно не айс :)
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 16:31:04.863333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Брутфорс на 1С - на башорг :D
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 18:23:28.966666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: _SaZ_ Я в книгах оставлял ссылку на хорошую по Си. Поищи, если интересно =). Керниган/Ричи? Пратт? или даже Керниган/Пайк? искать лень, тем более что на вопрос ты не ответил
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 18:51:41.476666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Ждите ответа… ждите ответа… Чел, ты не понял, что я на тебя болт положил? Имей уважение к другим, тогда другие не будут иметь тебя.
|
|
|
RE: Генератор 6ти значных чисел на с++ (на крайняк делфи) - 2008-11-14 19:40:25.340000
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: _SaZ_ Ждите ответа… ждите ответа… Чел, ты не понял, что я на тебя болт положил? Имей уважение к другим, тогда другие не будут иметь тебя. и что? мне необходимо срочно расплакаться? уважение, понимаешь ли, нужно заслужить; такая простая истина тебе о чём-нибудь говорит? вот ответил бы на мой вопрос про bind2nd, например,- был бы у меня повод тебя уважать; а так - извини, продолжу развлекаться
|
|
|
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
|
|
|
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" - пока не нашел. Может подскажет кто то!? (Внимание, в комбинации возможны спецсимволы: &()[]{}^=;!+,'~")
|
|
|
|
|