-3

マトリックスの各行から最大値を見つけるプログラムを取得しましたが、たとえば、長さ n と高さ m でランダムなマトリックスを生成するにはどうすればよいですか?

#include <stdlib.h>
#include <stdio.h>
void max_per_row( double *result, 
                      double matrix[][3], 
                      const int xmax, 
                      const int ymax)
{
int x=0, y=0;

 for(y=0; y < ymax; y++)
    result[y]=y;
for(y=0; y < ymax; y++)
{
    for(x=0; x < xmax; x++)
    {
        if ( matrix[y][x] > result[y] )
            result[y]=matrix[y][x];
    }
}
}

int main(int argc, char **argv)
{
double test1[3][3]={ {-10, -20, 0},
                     {-13, 0,  13},
                     {-99, 99.99, 100.01}};
double result[10]={0};
int y=0;
max_per_row(result, test1, 3, 3 );
for(y=0; y < 3 ; y++)
    printf("max row %d = %f\n", y, result[y]);
return 0;
}
4

1 に答える 1

2
int main()
{
    int random[3][3];
    int i, o;

    srand(time(NULL));
    for(o = 0; o<3; o++)
        for(i = 0; i<3; i++)
            random[o][i] = rand();
    return 0;
}

それでいい。データの特定のサブセットが必要な場合は、%からの出力に対して演算子を使用できますrand()。次に例を示します。

rand() % 10; // generates a random number 0-9
于 2012-11-27T17:44:15.643 に答える