Таким образом, у меня есть этот код, мне нужно, чтобы включить в функцию:Создание функции для случайного числа 2D массива
int main(void) {
int i=0,seed;
printf("\n\nEnter seed integer value: ");
scanf("%d", &seed);
printf("\nSeed value is:%d\n\n",seed);
srand(seed);
int a[5][5];
int x,y;
printf("Matrix A:\n");
for(x=0;x<5;x++) {
for(y=0;y<5;y++) {
a[x][y] = rand() %51 + (-25);
printf("%d ",a[x][y]); }
printf("\n"); }
printf("\n\n");
Так в основном, это производит 5x5 массив 2D случайных чисел. Это прекрасно работает, однако моя следующая задача применения функции к этому коду, с именем функции из:
void generate_matrices(int a[5][5])
Я пытался несколько раз, ближе я к успешному коду было:
#include <stdio.h>
#include <stdlib.h>
void generate_matrices(int a[5][5]);
int main(void) {
int a, seed;
printf("\n\nEnter seed integer value: ");
scanf("%d", &seed);
srand(seed);
printf("\nSeed value is:%d\n\n",seed);
generate_matrices(a);
return 0;
}
void generate_matrices(int a[5][5]) {
int y,z;
printf("Matrix A:\n");
for(y=0;y<5;y++) {
for(z=0;z<5;z++) {
a[y][z] = rand() %51 + (-25); }
printf("%d ",a[y][z]); }
printf("\n");
}
но это возвращает ошибку, «ожидается" Int (*) [5], но arguement имеет тип „INT“.
Все/любая помощь muchly оценена. Чтобы быть справедливым, с моей стороны, я сделал 90% кода. Это единственный бит, в котором мне нужна помощь, поэтому я могу применить его к остальной части моего кода.
Приветствия!
Вы не можете отправить массив как переменную. Вам нужно отправить указатель, указывающий на его первый элемент + размер столбца + размер строки. Или просто не отправляйте его! Создайте его внутри этой функции и обработайте ее там –