Массив из рандомных слов
Начал изучать C++ С помощью ПСП сформировать двухмерный MxN массив из текстовых элементов. В качестве элементов использовать слова из К..L символов А..Z. здесь М и N - соответственно число строк и столбцов формируемой матрицы; К и L - соответственно минимальное и максимальное число букв в формируемых словах - элементах массива. К, L, M, N - задаются самостоятельно. Выводит одинаковые символы и массив работает не правильно, работает только одинаковые числа(например 5 5), как можно исправить. И подскажите, что можно по программе упростить или исправить, а то я только начал и вижу что код как то не очень.
#include <iostream>
#include <iomanip>
#include <string>
#include <cstdlib>
using namespace std;
string words(int K, int L)
{
int len; string Q = "";
string symbols = "abcdefghijklmnopqrstuvwxyz";
int ds = rand() % 26;
len = rand() % (L - K) + K;
for (int s = 0; s <= len; s++) {
Q += symbols[ds];
}
return Q;
}
void main()
{
setlocale(LC_ALL, "Rus");
int K, L, m, n, q;
cout << "Введите размерность массива" << endl;
cin >> m; cin >> n;
cout << "Введите максимальное и минимальное число букв в словах" << endl;
cin >> K; cin >> L;
string **arr;
arr = new string * [m];
for (int i = 0; i < m; i++) {
arr[i] = new string[m];
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = words(K, L);
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cout << setw(12) << arr[i][j];
}
cout << endl;
}
}