Laureando Disperato

di il
26 risposte

26 Risposte - Pagina 2

  • Re: Laureando Disperato

    Ananke Melior ha scritto:


    Anche in esecuzione va benone.
    E cosa hai provato?
    Comunque se hai tutta quetsa esperienza invece di avere tutta questa superiorità e "lasciare perdere", perchè non spieghi anche a noi perchè non dovrebbe andare in "esecuzione"?
    Ma quale superiorità ? E' da una decina di post che ti invito a provare quello che hai scritto, indicando con tanta pazienza di rivedere il tuo codice e tu continui, testardamente, a non volere accettare alcun consiglio ... A questo punto, dato che sei così convinto, lasciamo perdere ...

    In ogni caso, se inserisci i valori da 10 a 80 tu cosa ottieni in output dato che l'hai provato?
    Chiedo ai mod di chiudere la discussione perchè è chiaramente divenuta infruttuosa e tendiamo a bisticciare.
    Prima chiedi di avere una risposta da me e poi chiedi di chiudere?

    Qui non si "bisticcia" (non ne ho più l'età), ma si "discute di programmazione", se vuoi.
  • Re: Laureando Disperato

    Be quello che accade dipende dalla dimensione dell'array allocato.

    Il sistema funziona. Sta poi all'utente organizzare diversamente la dimensione dell'array.
  • Re: Laureando Disperato

    Ananke Melior ha scritto:


    Be quello che accade dipende dalla dimensione dell'array allocato.

    Il sistema funziona. Sta poi all'utente organizzare diversamente la dimensione dell'array.
    Sono "superiore" se ti dico che non ha senso quello che hai scritto e che le dimensioni dell'array non c'entrano? Il codice non funziona in quel modo ... e il problema è nell'uso sbagliato della sprintf. Tutto qui.

    Piuttosto, cerca di capire perché e correggi il codice ...
  • Re: Laureando Disperato

    OK adesso che ti sei spiegato ho capito cosa intendevi.
    sprintf considera solo il primo carattere.

    I beg your pardon sir
  • Re: Laureando Disperato

    Ananke Melior ha scritto:


    OK adesso che ti sei spiegato

    sprintf considera solo il primo carattere.
    Lo fa perché non è usato bene ...
  • Re: Laureando Disperato

    Ragazzi calma e senza sarcasmi altrimenti saró costretto a chiudere. Mo vado che si sta scaldando la birra.
    E pace fu.
  • Re: Laureando Disperato

    Ok adesso dovrebbe andare:
    #include <stdio.h>
    #include <string.h>
    
    
    int main()
    {
    	short i, a;
    	int arr[8];
    	char string[1024];
    	
    	for (i=0; i<8; i++){
    		printf("Inserisci un numero\n");
    		scanf ("%d", &arr[i]);
    	}
    	
    	for (a=0; a<i; a++){
    		sprintf(&string[strlen(string)], "%d", arr[a]);}
    	
    	printf ("la stringa inserita e' %s\n", string);
    	
    	return 0;
    }
    
  • Re: Laureando Disperato

    Probabilmente tu non li provi i programmi ...

    Devi inizializzare il vettore di uscita altrimenti la strlen non fornirà un risultato corretto

    char string[5000]={0};

    A parte questo, l'array di interi non ha senso sia di 1000 elementi dato che stiamo ragionando di 8 numeri

    int arr[8];

    Infine è meglio inserire uno spazio nella stringa di formattazione della sprintf in modo che i valori siano separati

    "%d "
  • Re: Laureando Disperato

    In effetti la dimensione dell'array l'ho messa abbastanza a caso, senza badare a non utilizzare spazio inutile.
    Probabilmente tu non li provi i programmi ...

    Devi inizializzare il vettore di uscita altrimenti la strlen non fornirà un risultato corretto
    Comunque l'ho provato e a me funziona.
    Può essere dovuto al fatto che sia su linux?
  • Re: Laureando Disperato

    Vorrei ringraziarvi dell'aiuto mi pare che alla fin fine funzionino tutte e due le stringhe sono solo due modi per risolvere lo stesso problema. ora però mi sono arenato con un altro problema. la mia missione è leggere un file "input.txt" con 22 numeri interi (uno per riga) ed inserire tali numeri all'interno di un array. io ho fatto questo, ma non capisco perche non mi funziona, anzi mi crasha tutto!

    #include <stdio.h>
    #include <stdlib.h>

    int main () {
    int i;
    int input[22];
    int castoro[22];
    FILE *fp;

    fp = fopen("input.txt","r");

    for (i=0; i<22; i++){
    fscanf (fp,"%d", &castoro[22]);
    }
    printf ("la stringa inserita e':\n");
    for (i=0;i<22;i++){
    printf("%d\n", castoro);}

    system("PAUSE");
    return 0;
    }
  • Re: Laureando Disperato

    Ah ovviamente la parte di inserire i numeri in un array non l'ho cominciata dato che non riesco a fargli leggere il file, in ogni caso quella parte so farla da solo!
  • Re: Laureando Disperato

    TI sembra giusto che nella fscanf ci sia

    &castoro[22]

    P.S. In ogni caso, un problema per thread ... altrimenti si fa confusione ...
Devi accedere o registrarti per scrivere nel forum
26 risposte