61 lines
1.1 KiB
C
61 lines
1.1 KiB
C
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
|
|
int doublemode = 0; // 0 = Int, 1 = Float
|
|
char usage[] = "usage: matrixgenerator size [-mode double]\n";
|
|
int i,j, k;
|
|
int matricewidth = 0;
|
|
|
|
|
|
int main (int argc, const char * argv[])
|
|
{
|
|
// check Number of arguments
|
|
if (argc != 2 && argc != 4)
|
|
{
|
|
printf("%s", usage);
|
|
return 0;
|
|
}
|
|
|
|
// Check arguments for double mode
|
|
if (argc == 4)
|
|
{
|
|
if (strcmp(argv[2],"-mode") != 0 || strcmp(argv[3],"double") != 0)
|
|
{
|
|
printf("%s", usage);
|
|
return 0;
|
|
}
|
|
|
|
doublemode = 1;
|
|
}
|
|
|
|
matricewidth = atoi(argv[1]);
|
|
|
|
srand ( time(NULL) );
|
|
|
|
double number;
|
|
|
|
// Float
|
|
printf("%d\n", matricewidth);
|
|
for (k = 0; k < 2; k++)
|
|
{
|
|
for (i = 0; i < matricewidth; i++)
|
|
{
|
|
for (j = 0; j < matricewidth; j++)
|
|
{
|
|
if (doublemode)
|
|
{
|
|
number = (double) rand() / RAND_MAX;
|
|
number = 200 * number - 100;
|
|
printf("%g\n", number);
|
|
}
|
|
else
|
|
printf("%d\n", ( rand() % 200 - 100));
|
|
}
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|