/*
Nome: Mario
Cognome: Montanari
Classe: 3AIN
Data: 10/04/2025

es16. (casuali)
Scrivere una funzione che, ricevuti in ingresso un nome di file e un numero
intero N, memorizzi nel file N numeri casuali disposti a coppie su linee
diverse (una coppia per ogni linea).
*/

#include <iostream>
#include <ctime>
#include <cstdlib>

#define SIZE_LINE 1000+1
#define V_MIN 10
#define V_MAX 99

using namespace std;

void numeriCasuali(const char * nomeFile, int &n);

int main(void) {
	srand(time(NULL));
	
	char nomeFile[SIZE_LINE];
	int n;
	
	cout << "Nome file: ";
	cin >> nomeFile;
	
	cout << "Numero di valori: ";
	cin >> n;
	
	numeriCasuali(nomeFile, n);
	
	return 0;
}

void numeriCasuali(const char * nomeFile, int &n) {
	FILE * fp = fopen(nomeFile, "w+t");
	
	if (fp != NULL) {
		for (int i = 0; i < n; i++) {
			int a = rand() % (V_MAX - V_MIN + 1) + V_MIN;
			fprintf(fp, "%d ", a);
			
			if (i % 2 != 0) {
				fprintf(fp, "\n");
			}
		}
		
		fclose(fp);
	} else {
		perror("Error (source)");
	}
}