college/ws2010/gdi3/solution/p3/matrixgenerator.c
2013-12-19 22:22:57 +01:00

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;
}