Demigodd
@Demigodd

Как создать простой генератор пароля?

#include "stdafx.h"
#include <iostream>
#include <string>
#include "cstdlib"
using namespace std;

int main() {
	setlocale(LC_CTYPE, "Russian");

	string Sym[] = { "0123456789!@#$%^&*ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" };

	int size = std::size(Sym[0]);

		for (int i = 0; i <= size; i++) {
			cout << Sym[0][i] << " ";
		}

    return 0;
}


Есть вот такой код, через for цикл перебирает все символы из массива. Как дальше из этих 70 символов, получить 5 рандомных ?
  • Вопрос задан
  • 433 просмотра
Решения вопроса 1
longclaps
@longclaps
#include <iostream>

using namespace std;

int main() {
    char chars[] = "0123456789!@#$%^&*ABCDE...";
    const int sz = sizeof(chars) - 1, n = 5;
    // можно просто надёргать случайных букв, но могут быть повторы
    srand(time(NULL));
    for (int i = 0; i < n; i++) {
        cout << chars[rand() % sz];
    }
    cout << endl;
    // а можно перетасовать алфавит - повторов не будет
    for (int i = 0; i < sz; i++) {
        swap(chars[i], chars[rand() % sz]);
    }
    for (int i = 0; i < n; i++) {
        cout << chars[i];
    }
    return 0;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы