Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 33
  1. #21
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    19
    Grazie a tutti per le risposte.
    Ho lasciato il mio codice come all'inizio, solo ho cambiato il discrimante.
    Avevo commesso un errore "matematico" per distrazione e senza rendermene conto.
    Il programma adesso parte e funziona benissimo.
    Grazie ancora a tutti, il vostro aiuto è fondamentale per me. A presto!

  2. #22
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Scara95
    Non hai detto questo nei post precedenti:
    Lascia perdere ... non ha importanza. Non c'è peggior sordo ...

    e non faccio l'interprete
    E' troppo evidente per non essere vero, ma non capisco il perché ...

    In conclusione non penso proprio che Who abbia bisogno di essere difeso
    Infatti ... non ne ha.

    Originariamente inviato da Sos_Code
    Grazie a tutti per le risposte.
    Ho lasciato il mio codice come all'inizio, solo ho cambiato il discrimante.
    Prego.

    Il programma adesso parte e funziona benissimo.
    Meglio così. A presto.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #23
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Non è ognuno libero di esprimere le proprie idee e giudicare criticamente il pensiero altrui!?
    Principio base della filosofia, della scienza e della costituzione.
    Perciò, amettiamo che io lo stia "interpretando", non vedo il perchè io non possa, come dici tu, "interpretare" Who.

    Apparte questo mi sono limitato a "criticare" (nel senso filosofico del termine) i tuoi post per il fatto che ripetevano una cosa già detta in precedenza e che polemizzavano su un fatto marginale di un'implementazione che voleva essere tutt'altro che completa, ma dimostrativa della struttura del programma...

    Se tu avessi detto fin da subito:
    Le variabili double sarebbero più adatte al compito.
    O qualcosa di simile, invece di:
    Perchè solo int!?
    Avrei preso il tuo post in modo diverso.

    In ogni caso sono contento che tu @Sos sia riuscito
    Ciao
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #24
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Scara95
    Principio base della filosofia, della scienza e della costituzione.
    Ma non scomodare la costituzione, la filosofia e la scienza .... siamo stati OT fino ad ora, non passiamo al ridicolo.

    Solo perché non ti è piaciuto come ho scritto "solo interi ..." ... ma per favore, piantiamola qui.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #25
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Ho scomodato filosofia, scenza e costituzione perchè non vuoi capire ciò che intendo io, in ogni caso chiudo qui.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #26
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Già, chiudiamo qui perché non mi piace discutere sul nulla, ne su dettagli inutili.
    Già che ci sto ri-posto il codice (stavolta corretto, verificando di non effettuare una divisione per zero nel corpo del primo if), così chi legge lo vede:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    #define LMAX 100
    #define EPSILON 1.0e-5
    
    int equal (double a, double b)
    {
        return b >= a-EPSILON && b<= a+EPSILON;
    }
    
    int main()
    {
        int a, b, c;
        float x1, x2,delta;
        char buffer[LMAX];
        
        printf("Inserire il valore di a:\n");
        fgets(buffer,100,stdin);
        a=atoi(buffer);
        printf("Inserire il valore di b:\n");
        fgets(buffer,100,stdin);
        b=atoi(buffer);
        printf("Inserire il valore di c:\n");
        fgets(buffer,100,stdin);
        c=atoi(buffer);
        
        if(a==0)
        {
            if(!equal(b,0.0))
                printf("Risultato: %f\n", -(double)c/b);
            else
            {
                if(c==0)
                    printf("Ci sono infinite soluzioni");
                else
                    printf("Non ci sono soluzioni");
            }
        }
        else
        {
            delta=pow(b,2.0) - 4 * a * c;
            if(equal(delta,0.0))
            {
                printf("Risultato: %f\n", -(double)b/ (2*a));
            }
            else if(delta < 0.0)
            {
                printf("Non ci sono risultati\n");
            }
            else
            {
                x1= (-b + sqrt(delta)) / (2*a);
                x2= (-b - sqrt(delta)) / (2*a);
                printf("Risultati:\n1) %f\n1) %f\n",x1,x2);
            }
        }
        
        return 0;
    }

  7. #27
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    ri-posto il codice (stavolta corretto
    Anche se non è chiaro perché

    codice:
    if(!equal(b,0.0))
    se b la lasci intera ...

    In ogni caso, la mia versione per Sos_Code con i "dettagli inutili" è questa

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    #define LMAX 100
    #define EPSILON 1.0e-5
    
    int equal (double a, double b)
    {
        return b >= a-EPSILON && b<= a+EPSILON;
    }
    
    double getval(char *msg)
    {
        char buffer[LMAX];
    
        printf("Inserire il valore di %s: ", msg);
        fgets(buffer, LMAX, stdin);
        printf("\n");
    
        return(atof(buffer));
    }
    
    int main()
    {
        double a, b, c, delta, x1, x2;
        
        a = getval("a");
        b = getval("b");
        c = getval("c");
    
        if(equal(a, 0.0))
        {
            if(!equal(b, 0.0))
                printf("Risultato: %f\n", -c/b);
            else
            {
                if(equal(c, 0.0))
                    printf("Ci sono infinite soluzioni");
                else
                    printf("Non ci sono soluzioni");
            }
        }
        else
        {
            delta=pow(b, 2.0) - 4 * a * c;
            if(equal(delta, 0.0))
            {
                printf("Risultato: %f\n", -(double)b/ (2*a));
            }
            else if(delta < 0.0)
            {
                printf("Non ci sono risultati\n");
            }
            else
            {
                x1= (-b + sqrt(delta)) / (2*a);
                x2= (-b - sqrt(delta)) / (2*a);
                
      	    printf("Risultati:\n1) %f\n2) %f\n",x1,x2);
            }
        }
        
        return 0;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #28
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Non ho letto nessuno dei due codici, comunque vedi che ti ostini a non capire:
    Nessuno ha detto che fossero inutili, io personalmente ho solo detto che era una cosa già detta e che quel primo codice era solo dimostrativo (ad esempio mancavano anche controlli sulla divisione per 0)...
    In ogni caso lui ha risolto mantenendo il suo codice, quindi è inutile farsi problemi.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  9. #29
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    E se proprio bisogna essere precisi fino al limite dell'impossibile nessuno si è mai preoccupato di controllare che le stringhe siano numeriche prima della conversione.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  10. #30
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Scara95
    Non ho letto nessuno dei due codici, comunque vedi che ti ostini a non capire: Nessuno ha detto che fossero inutili,
    Quello che non capisce qui sei tu. E non leggi neanche ... mi riferivo proprio al post che non hai letto e in particolare

    "non mi piace discutere sul nulla, ne su dettagli inutili."

    quindi è inutile farsi problemi.
    Nessun problema, non capisco perché, risolto il quesito e ottenuto tanti esempi, tu continui a replicare in maniera non richiesta.

    controllare che le stringhe siano numeriche
    In quel caso restituiscono 0. Non c'è problema.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.