Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Генерация паролей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определение простого числа http://www.cyberforum.ru/cpp-beginners/thread3614.html
С клавиатуры вводят натуральное 3-х значное число. Является ли оно простым (простые числа делятся нацело только на 1 и на себя). Описать функции: 1)ввода исходных данных 2) обработки исходных...
C++ Задача Иосифа Что-то жесткая задача... По кругу располагаются n=20 человек. Ведущий считает по кругу, начиная с первого, и выводит («казнит») m-го человека. Круг смыкается, счет возобновляется со следующего после... http://www.cyberforum.ru/cpp-beginners/thread3602.html
Error LNK2001: "unresolved external symbol _main" C++
вот программа: #include <iostream.h> #include <stdlib.h> #include <time.h> class Mas_2d { public: Mas_2d();
C++ Помогите с задачами: Одномерный массив, Строки, Двумерные массивы
1. Одномерный массив Упорядочить элементы массива, удалив повторяющиеся элементы. 2. Строки Вводится строка,в конце ставится точка. Определить, удовлетворяет ли введенный текст приведенным ниже...
C++ Двумерный массив, Нужна помощь профи http://www.cyberforum.ru/cpp-beginners/thread3593.html
Доброго времени суток!!! Помогите доделать задачу... Найти максимальный элемент матрицы из тех строк, которые упорядочены либо по возрастанию, либо по убыванию. Например : 1 7 40 54 -...
C++ Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей 1 Получить все числа, которые входят в массив по одному разу 2 Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей. 3 подсчитать число вхождений в строку... подробнее

Показать сообщение отдельно
mik-a-el
Администратор
57774 / 37549 / 231
Регистрация: 10.04.2006
Сообщений: 12,740
27.11.2007, 13:37
Код на делфях, но зато с подробными комментариями:
Код
// запускаем генератор случайных чисел (только при старте приложения).
procedure tform1.formcreate(sender: tobject);
begin
randomize;
end;

function randompwd(pwlen: integer): string;
// таблица символов, используемых в пароле
const strtable: string =
'!#$%&/()=?@<>|{[]}*~+#;:.-_' +
'abcdefghijklmabcdefghijklm' +
'0123456789' +
'ДЦЬдцьЯ' +
'nopqrstuvwxyznopqrstuvwxyz';
var
n, k, x, y: integer;
begin
// проверяем максимальную длину пароля
if (pwlen > length(strtable)) then k := length(strtable)-1
else k := pwlen;
setlength(result, k); // устанавливаем длину конечной строки
y := length(strtable); // Длина Таблицы для внутреннего цикла
n := 0; // начальное значение цикла

while n < k do begin // цикл для создания k символов
x := random(y) + 1; // берём следующий случайный символ
// проверяем присутствие этого символа в конечной строке
if (pos(strtable[x], result) = 0) then begin
inc(n); // символ не найден
result[n] := strtable[x]; // теперь его сохраняем
end;
end;
end;

procedure tform1.button1click(sender: tobject);
var
cpwd: string;
begin
// вызываем функцию генерации пароля из 30 символов
cpwd := randompwd(30);
// ...
end;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru