Salve a tutti, avrei un problema con un esercizio di informatica, non sono un programmatore ma uno studente di ingegneria elettrica, il testo dell'esercizio richiede di inserire n numeri in un array,questi numeri devono essere compresi tra 0 e max_val che deve decidere il programmatore,come se non bastasse devo scrivere su un file il contenuto dell'array è riportare il numero di occorrenze di ogni singolo valore.Ho abbozzato il programma, ma non mi calcola le occorrenze. accetto qualsiasi suggerimento grazie.
Codice:
#include <stdio.h>
#define DIM 100
void scrivi_file(int*,int,int);
int main()
{
int arr[DIM],n,c;
int max_val=10;
int cont=0;
printf("Quanti numeri vuoi inserire?\n");
scanf("%d",&n);
printf("inserirsci i %d numeri compresi tra 0 e %d\n",n,max_val);
for(int i=0;i<n;i++)
{
printf("Numero %d: ",i);
scanf("%d",&c);
if(c>=0 && c<=max_val)
{
arr[i]=c;
cont++;
}
else
{
printf("Numero sbagliato\n");
printf("Inserisci un numero tra 0 e %d.\n",max_val);
}
}
scrivi_file(arr,n,cont);
return 0;
}
void scrivi_file(int *a,int n,int conta)
{
FILE *fp;
fp=fopen("/home/andrea/Documenti/Andrea/Informatica/prova.txt","w");
for(int i=0;i<n;i++)
{
fprintf(fp,"%d %d\n",a[i],conta);
}
fclose(fp);
}