Обращение буквы на номер, если выбран выбор

ЗАДАЧА: Убедитесь, что 30% -ный шанс, что пароль не является специальным символом, будет числом. (Подсказка: сгенерируйте случайное число от 0 до 3. Если 0, пусть символ будет случайным числом от 0 до 9).

В моем коде я написал ЗДЕСЬ, вот где я застрял.

#include <iostream>     //for cout, cin
#include <string>       //for string
#include <stdlib.h>     //for rand
#include <time.h>       //for time

using namespace std;
string getRandString(int N, string tokens)
{
string randStr = "";

for(int i = 0; i<N; i++)
{
int randIndex = rand() % tokens.length();
randStr = tokens[randIndex] + randStr;
}

return randStr;
}

/*string getRandString(int stringLength)
{
string randStr = "";
string alphabet = "abcdefghijklmnopqrstuvwxyz""ABCDEFGHIJKLMNOPQRSTUVWXYZ";

for(int i = 0; i<stringLength; i++)
{
int randIndex = rand() % alphabet.length();
randStr = alphabet[randIndex] + randStr;
}

return randStr;
}*/

string getNRandomSpecialChars(int N)
{
string specialChars = "!%+-:_";
string randStr = "";

for(int i = 0; i<N; i++)
{
int randIndex = rand() % specialChars.length();
randStr = specialChars[randIndex] + randStr;
}

return randStr;
}

int getRandomBetweenRange(int min, int max)
{
return rand() % (max - min + 1) + min;
}

string injectRandomString(string oldString, string injectionString)
{
if( injectionString.length() == 0 )
{
return oldString;
}

for(int i = 0; i<oldString.length(); i++)
{
int coinToss = rand() % 2;
int randIndex = rand() % injectionString.length();

if( coinToss == 1 )
{
oldString[i] = injectionString[randIndex];
}
}
///*********************** HERE ***********************
for (int j = 0; j<oldString.length(); j++)
{
int flipToNum = rand() % 3;
int randInd = rand() % injectionString.length();

if (flipToNum == 3)
{
oldString[j] = ;
}
}

return oldString;
}

int main()
{
//initialize random seed
srand (time(NULL));
string alphabet = "abcdefghijklmnopqrstuvwxyz""ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string specialChars = "!%+-:_";

for(int j = 0; j<10; j++)
{
int zeroToSix = rand() % 7;

int max = 14 + zeroToSix;
int min = 1;

int stringLength = getRandomBetweenRange(min, max);

//method 1 - start

//string password = getRandString(stringLength);
//string specialChars = getNRandomSpecialChars(zeroToSix);

//method 1 - end

//method 2 - start

string password = getRandString(stringLength, alphabet);
string specialCharsString = getRandString(zeroToSix, specialChars);

password = injectRandomString(password, specialCharsString);
//method 2 - end

cout << password << endl;
}

cout << endl;
//cout << stringLength << endl;return 0;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]