Хотя я делюсь кодом, попробуйте ввести код самостоятельно.Я даю несколько шагов с этим ответом, который должен помочь вам продумать код, если вы хотите реализовать все это самостоятельно.
Вот несколько шагов.
1) Ввод m
и n
int m, n;
scanf("%d%d", &m, &n);
2) Выделение памяти для массива
char *arr[m];
for (i = 0; i < n; ++i) {
arr[i] = malloc(n * sizeof(char));
}
3) Теперь, так как вы упомянули в одномиз ваших комментариев, программа должна генерировать случайных алфавитов, а не чисел , позвольте мне сказать вам, C позволяет приводить тип данных от int
до char
.Вот как вы будете генерировать случайные символы.
for (i = 0; i < m; ++i) {
for (j = 0; j < n; ++j) {
c = (char) (rand() % 26) + 'a'; // Generate a random character between 'a' and 'z'
arr[i][j] = c;
}
}
Вот полный код:
#include <stdio.h>
#include <stdlib.h>
int main() {
int m, n, i, j;
char c;
scanf("%d%d", &m, &n);
char *arr[m];
for (i = 0; i < n; ++i) {
arr[i] = malloc(n * sizeof(char));
}
for (i = 0; i < m; ++i) {
for (j = 0; j < n; ++j) {
c = (char) (rand() % 26) + 'a'; // Generate a random character between 'a' and 'z'
arr[i][j] = c;
printf("%c ", c);
}
printf("\n");
}
}
Ввод:
3
4
Вывод:
n w l r
b b m q
b h c d
Я думаю, что это ожидаемый вывод!
Спасибо.