FILE sequenza numeri

di il
28 risposte

28 Risposte - Pagina 2

  • Re: FILE sequenza numeri

    Che devo risponderti? continui a dire che non uso il forum nel modo corretto... ma non mi pare di star violando il regolamento chiedendo consigli su esercizi.

    io non obbligo la gente a rispondere, se invece qualcuno è disposto ad aiutarmi ben venga... sembra che io vi stia facendo perdere tempo obbligandovi a rispondere.
  • Re: FILE sequenza numeri

    Il regolamento non c'entra nulla. Io ti ho detto COME usare il forum per avere risposte.

    Devi postare TUTTO il codice non una parte da cui non si capisce nulla e questo codice deve essere libero da errori di compilazione.

    L'hai fatto?
  • Re: FILE sequenza numeri

    Il regolamento non c'entra nulla. Io ti ho detto COME usare il forum per avere risposte.

    Devi postare TUTTO il codice non una parte da cui non si capisce nulla e questo codice deve essere libero da errori di compilazione.

    L'hai fatto?
  • Re: FILE sequenza numeri

    ragazzo1223 ha scritto:


    
    /*a) Scrivere un sottoprogramma analizzanumero che riceve come parametri due numeri interi n e
    val. Una volta assicuratosi che val sia un valore compreso tra 0 e 9 (estremi inclusi) e che n sia
    maggiore di 10, il sottoprogramma estrae da n il valore delle decine e verifica che sia uguale a val. Il
    sottoprogramma restituisce 1 nel caso la condizione sia vera, 0 se la condizione è falsa o nel caso i dati
    in ingresso non siano validi.
    b) Scrivere un programma che apre un file di testo testo.txt contenente una serie di lunghezza
    indefinita (zero o più) di numeri interi. Mediante l’utilizzo del sottoprogramma analizzanumero il
    programma calcola la lunghezza di ciascuna sequenza di numeri consecutivi aventi il valore 5 nella
    posizione delle decine e stampa a video la lunghezza massima. Ad esempio, se il file contiene il
    seguente testo:
    51 55 12 151 3 3 555 656 454 1256 4
    Il programma stamperà a video: 4.*/
    
    
    
    #include <stdio.h>
    
    
    int analizzanumero(int n, int val){
    	int temp=0;
    	int temp2=0;
    	
    	if(n<10){	
    		return 0;
    	}
    	
    	temp=n/10;
    	temp2=temp%10;
    	
    	if(temp2==val){
    		return 1;
    	}else{
    		return 0;
    	}
    
    }
    
    int main(){
    	
    	int a;
    	FILE* fp;
    	int conto=0;
    	int n[1];
    	fp=fopen("numeretti.txt","r");
    	int temp=0;
    	
    	if(!fp){
    		printf("errore nell'apertura del file");
    		
    	}else{
    		
    		while(fscanf(fp, "%d", &a)!=EOF){
    		
    		
    			if(analizzanumero(a,5)==1){
    				conto++;
    				if(temp<conto){	
    				n[0]=conto;
    			}
    				}else{
    					
    					temp=conto;
    					conto=0;
    				}
    			}
    			
    		}
    		
    		printf("%d", n[0]);
    
    	fclose(fp);
    	
    	return 0;
    	
    }
    si l'ho fatto, questo è il codice che ho fatto io, e lo trovi nel primo post della pagina.
    a me compila ma da un risultato diverso.
    l'input e l'output gli ho detti prima.
    che devo fare di più?
  • Re: FILE sequenza numeri

    Ma con i dati di esempio di input del testo, il risultato in output (corretto) è 4, come dice la traccia.

    Quindi il problema dov'è?

    E comunque, se scrivi
    
      conto++;  
      if (temp<conto) {
    
    con temp che parte da 0, ovviamente temp sarà *sempre* minore di cont e nella else non ci andrà mai.

    Hai fatto un po' di debugging?
  • Re: FILE sequenza numeri

    Ok, ho cambiato cartella del file e ora funziona anche a me... devc++ quando compilava mi dava come risultato 1 qualsiasi testo io mettessi nel file txt ma cambiando cartella del programma e del file ha iniziato a funzionare.
    ma ora vorrei capire perché "int n[1]" è sbagliato, uso un array da 1 che continua ad essere sovrascritto, è sbagliato?
  • Re: FILE sequenza numeri

    ragazzo1223 ha scritto:


    Ok, ho cambiato cartella del file e ora funziona anche a me... devc++ quando compilava mi dava come risultato 1 qualsiasi testo io mettessi nel file txt ma cambiando cartella del programma e del file ha iniziato a funzionare.
    Prima di tutto usare DevC++ è veramente sconsigliato. Usa un altro IDE e compilatore, moderno, con debug efficiente e completo. Personalmente uso Visual Studio/VC++ proprio per il debugger molto potente.

    Comunque, ti faccio notare che tu utilizzavi un altro file di input con altri valori, non quelli dati come esempio dal testo.
    ma ora vorrei capire perché "int n[1]" è sbagliato, uso un array da 1 che continua ad essere sovrascritto, è sbagliato?
    Che senso ha usare un array con UN SOLO elemento? Perché non usi una normalissima variabile?

    int n;

    E' ovvio e ci si arriva immediatamente al perché non si usa un array di un elemento ... perché è assurdo farlo.
  • Re: FILE sequenza numeri

    ragazzo1223 ha scritto:


    ma ora vorrei capire perché "int n[1]" è sbagliato, uso un array da 1 che continua ad essere sovrascritto, è sbagliato?
    E basta su. Passalo meglio il tuo tempo
  • Re: FILE sequenza numeri

    Ok, grazie mille oregon...

    Weierstrass non è divertente, non sei obbligato a rispondermi se non ti va.
  • Re: FILE sequenza numeri

    Non è divertente quello che fai tu. O sei un troll, e a questo punto penso proprio questo, o sei comunque maleducato, perché ti si era chiesto di aggiustare l'indentazione e te ne sei fregato. In entrambe i casi stai usando il tuo tempo in modo non proficuo. Contento tu... buona continuazione con gli altri utenti
  • Re: FILE sequenza numeri

    La domanda "ci sei o ci fai" sarebbe sbagliata in questo caso?

    comunque NO, la consegna non è stata rispettata, il punto a) non è stato rispettato
  • Re: FILE sequenza numeri

    Stai dicendo che manca la parte di controllo di val? Mi sembrava inutile metterla visto che il programma usa la costante 5.
  • Re: FILE sequenza numeri

    Una consegna è una consegna

    se ti si dice di scrivere un programma che fa una certa cosa, anche se ti sembra stupida, glielo devi far fare

    altrimenti ti basta fare direttamente una printf del risultato atteso, tanto sai già che cosa deve uscire, è scritto negli esempi......

    il tuo problema è proprio questo:
    non ascolti, non fai, decidi che come hai fatto tu va bene senza pensare ad alternative, togli cose che non ti piacciono
    e alla fine non va, se va è per un caso che non comprendi

    ti ricordi quando ti ho detto di fare i conti con la calcolatrice, e mi hai risposto che non serviva?
    infatti non hai trovato il problema, non lo hai proprio trovato: te lo hanno dovuto dire esplicitamente
    non erra meglio se facevi quel semplice conto e te ne accorgevi da solo?
    io so la tua risposta: è "NO"
    perché dal tuo punto di vista l'importante è il risultato scritto in fondo, non come hai fatto ad ottenerlo
    non è vero, non è così, ma mi sono stancato............
  • Re: FILE sequenza numeri

    StandardOil ha scritto:


    il tuo problema è ...
    Concordo ... e la cosa peggiore è che così non si impara nulla. Ne è prova il fatto che continua a bloccarsi sugli stessi problemi.

    Si deve far tesoro dei consigli, non ignorarli. Anch'io penso che non seguirò più le tue "consegne" ...
Devi accedere o registrarti per scrivere nel forum
28 risposte