Как при каждом перезапуске программы генерировать рандомную матрицу
Проблема заключается в том, что код генерирует рандомную матрицу только один раз, при каждом следующем запуске выводит то же самое. Пробовал использовать <time.h>, но тогда получаються три одинаковые матрицы.
#include "stdio.h"
#include "stdlib.h"
#define N 5
#define M 6
double in(int mas[N][M]);
double out(int mas[N][M]);
double ser(int mas[N][M]);
double themost(double a, double b, double c);
int main()
{
int mas1[N][M], mas2[N][M], mas3[N][M];
double a,b,c,d;
printf("\t Matrix 1\n");
in(mas1);
a = ser(mas1);
printf("Sredne arifm dodatnih first: %.2f\n\n", a);
printf("\t Matrix 2\n");
in(mas2);
b = ser(mas2);
printf("Sredne arifm dodatnih second: %.2f\n\n", b);
printf("\t Matrix 3\n");
in(mas3);
c = ser(mas3);
printf("Sredne arifm dodatnih third: %.2f\n\n", c);
/// seredne arifm
d = themost(a,b,c);
printf("Naibilshe seredne arifmeti4ne: %.2lf\n", d);
printf("Matrix with naibilshe seredne arifm:\n\n");
if (d == a) {
printf("\t Matrix 1\n");
out(mas1);
}
if (d == b) {
printf("\t Matrix 2\n");
out(mas2);
}
if (d == c){
printf("\t Matrix 3\n");
out(mas3);
}
return 0;
}
/// functions
double in(int mas[N][M]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
mas[i][j] = rand()%101-50;
printf("%5d", mas[i][j]);
}
printf("\n \n");
}
}
double out(int mas[N][M])
{
for (int i = 0; i < N; i++){
for (int j = 0; j < M; j++){
printf("%5d",mas[i][j]);
}
printf("\n\n");
}
}
double ser(int mas[N][M])
{
double arifm,sum;
int count = 0;
for (int i = 0;i < N;i++){
for (int j = 0;j < M;j++){
if (mas[i][j]>0){
sum = sum + mas[i][j];
count++;
}
}
}
arifm = sum / count;
return arifm;
}
double themost(double a, double b, double c)
{
double m;
m=a;
if (m < b) m = b;
if (m < c) m = c;
return m;
}
И теперь код с использованием <time.h>
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define N 5
#define M 6
double in(int mas[N][M]);
double out(int mas[N][M]);
double ser(int mas[N][M]);
double themost(double a, double b, double c);
int main()
{
int mas1[N][M], mas2[N][M], mas3[N][M];
double a,b,c,d;
printf("\t Matrix 1\n");
in(mas1);
a = ser(mas1);
printf("Seredne arifm dodatnih first: %.2f\n\n", a);
printf("\t Matrix 2\n");
in(mas2);
b = ser(mas2);
printf("Seredne arifm dodatnih second: %.2f\n\n", b);
printf("\t Matrix 3\n");
in(mas3);
c = ser(mas3);
printf("Seredne arifm dodatnih third: %.2f\n\n", c);
/// seredne arifm
d = themost(a,b,c);
printf("Naibilshe seredne arifmeti4ne: %.2lf\n", d);
printf("Matrix with naibilshe seredne arifm:\n\n");
if (d == a) {
printf("\t Matrix 1\n");
out(mas1);
}
if (d == b) {
printf("\t Matrix 2\n");
out(mas2);
}
if (d == c){
printf("\t Matrix 3\n");
out(mas3);
}
return 0;
}
/// functions
double in(int mas[N][M]) {
srand(time(NULL));
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
mas[i][j] = rand()%101-50;
printf("%5d", mas[i][j]);
}
printf("\n \n");
}
}
double out(int mas[N][M])
{
for (int i = 0; i < N; i++){
for (int j = 0; j < M; j++){
printf("%5d",mas[i][j]);
}
printf("\n\n");
}
}
double ser(int mas[N][M])
{
double arifm,sum;
int count = 0;
for (int i = 0;i < N;i++){
for (int j = 0;j < M;j++){
if (mas[i][j]>0){
sum = sum + mas[i][j];
count++;
}
}
}
arifm = sum / count;
return arifm;
}
double themost(double a, double b, double c)
{
double m;
m=a;
if (m < b) m = b;
if (m < c) m = c;
return m;
}
Можете помочь это сделать? Делал в CLion.