Брутфорс. Заполнение строкового массива. Непонятный объект
Начал писать брутфорс и поскольку только недавно начал изучать программирование наткнулся на непонятную мне проблему. Во время определение последнего элемента с конца, которому присваивается буква "а" и выводе его, консоль стала выводить какую то ахинею. Причем такое происходит не всегда, компилятор может просто прекратить работать, может вывести нормально, может выдать ошибку, а может начать писать непойми что. К слову, такое работает только с "паролем(password)" если его размер 10. В случае если размер 4 то все работает исправно. Если больше (10 > password.length() > 4 > 12) то код не работает. Помогите пожалуйста!
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "");
//97
//122
string password = "";
cin >> password;
string* pasred = new string[password.length()];
string u_password = "";
cout << password.length() << "\n";
int a = char('a');
for (int i = 0; i < password.length(); i++)
{
pasred[i] = char(a);
//pasred[password.length() - i] = char(a++);
cout << pasred[password.length() - i] << "\n";
cout << pasred[i];
}
}