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.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"); }
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???

Rispondi quotando