Назначение хочет от нас создать матрицу 5x10, содержащую английские буквы в случайном и неповторяющемся порядке.Но поскольку в матрице 52 буквы и 50 комнат, мне пришлось отложить их.Но если я смогу сгенерировать их случайным образом, все равно у меня пропадут две буквы, но не одинаковые.
мой код пока такой:
#include <iostream>
#include <ctime> //for srand (number randomize)
using namespace std;
int main()
{
srand(time(0)); // generates random number
const int ROWS = 5; //declaration of rows
const int COLUMNS = 10; //declaration of columns
//writing content of the matrix
//I took out two letter (v and V) because matrix limit was 50 but all letters were 52
char harf[ROWS][COLUMNS] = {
{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'},
{'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T'},
{'U', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e'},
{'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o'},
{'p', 'q', 'r', 's', 't', 'u', 'w', 'x', 'y', 'z'}
};
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLUMNS; ++j)
{
//generates a random index number
int index1 = rand() % 5; //random numbers 0 to 5
int index2 = rand() % 10; //random numbers 0 to 10
//swaps harf [i][j] with harf [index1][index2] for it won't be repating itself
char temp = harf[i][j];
harf[i][j] = harf[index1][index2];
harf[index1][index2] = temp;
}
}
//printing header and random order matrix
cout << "Random and nonrecurring matrix" << endl << endl;
for (int i = 0; i < ROWS; ++i)
{
for (int j = 0; j < COLUMNS; ++j)
cout << harf[i][j] << " ";
cout << endl << endl;
}
Я пытался сделать это;
char harf [ROWS] [COLUMNS];
для (int i = 0; i
{for (int j = 0; j
{
harf[i][j] = rand() % 25 + 65 && rand() % 25 + 97; } }
Я тоже пробовал то же самое с "||", но, похоже, не работает.
Поскольку это задание, я не могу использовать ничего более сложного, чем выражения такого рода.Может кто-нибудь сказать, пожалуйста, как поместить английский алфавит в эту матрицу?