codice:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *f;
int num_linea = 0;
int carat;
int search;
int occorrenze = 0;
int count = 0;
int ciclo,i=0;
f = fopen("testo.txt","r");
printf("\ninserisci numero da trovare:\n");
scanf("%d",&search);
printf("\nQuante volte provare:\n");
scanf("%d",&ciclo);
while((fscanf(f,"%d",&carat)>0) && (0!=ciclo))
{
ciclo--;
if(carat == 0)
{
num_linea++;
}
if((carat == search) && (count < 3))
{
occorrenze++;
count++;
}
if(count == 3)
{
i++;
count = 0;
}
}
fclose(f);
printf("\nIl numero delle linee: %d\n", num_linea);
printf("\nIl numero delle occorrenze: %d\n", occorrenze);
printf("\nRighe che contengono il valore richiesto: %d\n", i);
//system("PAUSE");
}
Questa è la mia soluzione, il problema che nel file ho dovuto mettere ad ogni riga uno 0 per contare il fine riga (come posso controllare il \n? nel caso di un intero?), inoltre devo farmi stampare i numeri di riga.
Questo è il mio file:
2 6 3 2 2 0
2 4 2 12 2 0
2 2 21 2 3 0
2 93 2 1 2 0
2 2 7 8 23 38 12 0
In output mi stampa
numero linee: 5
occorrenze trovate: 13
righe che contengono il valore righiesto: 4
Quest'ultimo mi deve dire valore contenuto nelle righe 1,2,3,4
Idee???