NUMERI COMPLESSI IN C

di il
14 risposte

NUMERI COMPLESSI IN C

Non riesco ad integrare i numeri complessi

/*Scrivere un programma che legga da input i coefficienti a, b, c di
un’equazione di secondo grado e ne calcoli le radici*/

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

int main() {
    int a,b,c,delta;
    double i,x1,x2;

    printf("Inserire il valore del coefficiente a: ");
    scanf("%d", &a);
    printf("Inserire il valore del coefficiente b: ");
    scanf("%d", &b);
    printf("Inserire il valore del coefficiente c: ");
    scanf("%d", &c);
    
    if (a!=0 && b!=0 && c!=0) {
        printf("Equazione di secondo grado ax^2+bx+c=0\n");
        delta=pow(b,2)-4*a*c;
        printf("Il determinante e' %d\n",delta);
        if(delta>0) {
            x1=(-b+sqrt(delta))/(2*a);
            x2=(-b-sqrt(delta))/(2*a);
            printf("Due soluzioni reali distinte x1= %2.2f e x2=%2.2f\n",x1,x2);
        }
        else if (delta <0) {
            x1=((-b)/(2*a))+(i*sqrt(-(delta))/(2*a));
            x2=((-b)/(2*a))-(i*sqrt(-(delta))/(2*a));
            printf("Due radici complesse e coniugate x1=%2.2f e x2=%2.2f\n", x1,x2);
        }
        else if (delta=0) {
            x1=x2=(-b)/(2*a);
            printf("Due soluzioni reali coincidenti x1 e x2 uguali a %2.2f\n",x1);          
        }
        else if (a==0 && b!=0 && c!=0) {
            printf("Equazione di primo grado bx+c=0\n");
            x1=(-c)/(b);
            printf("Una soluzione x uguale a %2.2f\n",x1);
            }
        else if (a==0 && b==0 && c!=0) {
            printf("Equazione impossibile\n");
        }
        else printf("Equazione indeterminata\n");

}
    return 0;
}

14 Risposte

  • Re: NUMERI COMPLESSI IN C

    Complex.h si usa cosi' (se è quella la richiesta)
    
    #include <stdio.h>
    #include <tgmath.h>
    #include <complex.h>
    int main(void) {  
      double d;
      double complex r;
      printf("Inserisci un numero reale: ");
      fflush(stdout);
      scanf(" %lf", &d);
      r = csqrt(d);
      printf("La radice quadrata di %lf e': %lf", d, creal(r)); 
      if(d < 0.0)
          printf(" + %lf*i", cimag(r)); 
      return 0;
    }
    
  • Re: NUMERI COMPLESSI IN C

    Ma possibile che non si faccia NEANCHE la domanda?

    Possibile buttare lì un esercizio e restare in attesa della manna dal cielo?

    Boh
  • Re: NUMERI COMPLESSI IN C

    Sempre a oregon : Ma possibile che scrivi solamente lamentele verso la gente che posta domande per imparare o risolvere problemi?
    Utilizza il tuo tempo meglio al posto di scrivere e questionare su tutto e tutti... Ti ricordi a cosa servono i forum?
    Te lo devo spiegare io?
  • Re: NUMERI COMPLESSI IN C

    Alexplay91 ha scritto:


    Sempre a oregon : Ma possibile che scrivi solamente lamentele verso la gente che posta domande per imparare o risolvere problemi?
    Utilizza il tuo tempo meglio al posto di scrivere e questionare su tutto e tutti... Ti ricordi a cosa servono i forum?
    Te lo devo spiegare io?
    Ha ragione Oregon. Si chiede aiuto e nemmeno la cortesia di mettere il codice nei tag appositi, ora pure nemmeno fare le domande...
    La gente è abituata ormai a pretendere senza dover far nulla e magari senza nemmeno ringraziare.
  • Re: NUMERI COMPLESSI IN C

    Non riesco ad integrare i numeri complessi nell'equazione di secondo grado quando il delta è <0. QUalcuno potrebbe aiutarmi a risolvere questo problema? Grazie mille
  • Re: NUMERI COMPLESSI IN C

    Alexplay91 ha scritto:


    Sempre a oregon : Ma possibile che scrivi solamente lamentele verso la gente che posta domande per imparare o risolvere problemi?
    Utilizza il tuo tempo meglio al posto di scrivere e questionare su tutto e tutti... Ti ricordi a cosa servono i forum?
    Te lo devo spiegare io?
    Ma quale domanda è stata posta? I forum non servono per farsi fare i compiti. Passa il tuo tempo a studiare.

    Al primo thread uguale a questo neanche hai avuto la cortesia di rispondere riproponendo il codice nuovamente. Impara ad usare i forum.

    Solo dopo che un altro utente ha chiarito la situazione sei riuscito a farla la domanda e a ringraziare. Auguri per lo studio e per la vita.

    P.S. ma tu cosa c'entri nella discussione?
  • Re: NUMERI COMPLESSI IN C

    Come se non avessi mai ringraziato coloro che mi hanno aiutato negli esercizi precedenti... Assurdo.
    "Al primo thread uguale a questo neanche hai avuto la cortesia di rispondere riproponendo il codice nuovamente. Impara ad usare i forum." Avevo scritto non riesco ad integrare i numeri complessi qualcuno potrebbe aiutarmi? Silenzio stampa. Non voglio creare inutili dibattiti
  • Re: NUMERI COMPLESSI IN C

    Weierstrass ha scritto:


    Alexplay91 ha scritto:


    Sempre a oregon : Ma possibile che scrivi solamente lamentele verso la gente che posta domande per imparare o risolvere problemi?
    Utilizza il tuo tempo meglio al posto di scrivere e questionare su tutto e tutti... Ti ricordi a cosa servono i forum?
    Te lo devo spiegare io?
    Ha ragione Oregon. Si chiede aiuto e nemmeno la cortesia di mettere il codice nei tag appositi, ora pure nemmeno fare le domande...
    La gente è abituata ormai a pretendere senza dover far nulla e magari senza nemmeno ringraziare.
    Ma cosa avrei dovuto scrivete. fatemi capire. "Non riesco ad integrare i numeri complessi" non è abbastanza?
  • Re: NUMERI COMPLESSI IN C

    MarcoTopone ha scritto:


    Weierstrass ha scritto:


    Alexplay91 ha scritto:


    Sempre a oregon : Ma possibile che scrivi solamente lamentele verso la gente che posta domande per imparare o risolvere problemi?
    Utilizza il tuo tempo meglio al posto di scrivere e questionare su tutto e tutti... Ti ricordi a cosa servono i forum?
    Te lo devo spiegare io?
    Ha ragione Oregon. Si chiede aiuto e nemmeno la cortesia di mettere il codice nei tag appositi, ora pure nemmeno fare le domande...
    La gente è abituata ormai a pretendere senza dover far nulla e magari senza nemmeno ringraziare.
    Ma cosa avrei dovuto scrivete. fatemi capire. "Non riesco ad integrare i numeri complessi" non è abbastanza?
    No ovviamente, come vedi c'è più di una interpretazione possibile.

    Tra l'altro manco leggi i post: come vedi dal mio esempio l'unità immaginaria i deve stare dentro la printf, ovviamente non la puoi dichiarare "double i" e sperare che il compilatore ti legga nel pensiero. Al limite esiste I (maiuscolo) come double complex, ma comunque la i la devi aggiungere sempre e solo nella printf
  • Re: NUMERI COMPLESSI IN C

    oregon ha scritto:


    Alexplay91 ha scritto:


    Sempre a oregon : Ma possibile che scrivi solamente lamentele verso la gente che posta domande per imparare o risolvere problemi?
    Utilizza il tuo tempo meglio al posto di scrivere e questionare su tutto e tutti... Ti ricordi a cosa servono i forum?
    Te lo devo spiegare io?
    Ma quale domanda è stata posta? I forum non servono per farsi fare i compiti. Passa il tuo tempo a studiare.

    Al primo thread uguale a questo neanche hai avuto la cortesia di rispondere riproponendo il codice nuovamente. Impara ad usare i forum.

    Solo dopo che un altro utente ha chiarito la situazione sei riuscito a farla la domanda e a ringraziare. Auguri per lo studio e per la vita.

    P.S. ma tu cosa c'entri nella discussione?
    Caro Oregon
    Hai risposto uguale nel mio post su C# , li ho fatto domanda, ringraziamenti anticipati e tutto quanto.
    Al posto di darmi una mano per capire una cosa che effettivamente ho fatto fatica a risolvere hai questionato. Hai 10k+ post su sto forum solo per questionare o dai anche una mano? Non perchè ne ho bisogno figurati ma butti via il tuo tempo senza essere utile per nessuno cosi.
    Ma spiegatemi che forum è questo? solo di esperti? Una domanda banale non può essere posta? Evitate almeno di rispondere inutilmente se non volete effettivamente dare la risposta dailà.
  • Re: NUMERI COMPLESSI IN C

    Weierstrass ha scritto:


    Alexplay91 ha scritto:


    Sempre a oregon : Ma possibile che scrivi solamente lamentele verso la gente che posta domande per imparare o risolvere problemi?
    Utilizza il tuo tempo meglio al posto di scrivere e questionare su tutto e tutti... Ti ricordi a cosa servono i forum?
    Te lo devo spiegare io?
    Ha ragione Oregon. Si chiede aiuto e nemmeno la cortesia di mettere il codice nei tag appositi, ora pure nemmeno fare le domande...
    La gente è abituata ormai a pretendere senza dover far nulla e magari senza nemmeno ringraziare.
    Ascolta la ragione qui non c'è la nessuno e soprattutto non si sentenzia cosi verso una persona che non si conosce dando per scontato che sia uno scansafatiche che "aspetta la manna dal cielo". Non puoi mai sapere chi c'è dietro la tastiera, magari una persona che ha poco tempo e prova a portare avanti una passione, magari una persona estremamente sintetica nel esporre un problema o un quesito. Non per questo si giudica o si danno risposte cosi. Tanto vale stare in silenzio..
    Ma credo che abbandono subito questo forum visto gli atteggiamenti che vedo. In questo caso non il tuo Weierstrass
  • Re: NUMERI COMPLESSI IN C

    Alex... intanto scrivere come hai fatto tu alimentando flame in un thread non tuo è scorretto e lo segnalo ai moderatori.

    In secondo luogo tu hai chiesto l'abc e ALTRI ti hanno risposto prima di me che per le basi esistono i libri e i forum non si sostituiscono ai libri e ai corsi.
  • Re: NUMERI COMPLESSI IN C

    oregon ha scritto:


    Alex... intanto scrivere come hai fatto tu alimentando flame in un thread non tuo è scorretto e lo segnalo ai moderatori.

    In secondo luogo tu hai chiesto l'abc e ALTRI ti hanno risposto prima di me che per le basi esistono i libri e i forum non si sostituiscono ai libri e ai corsi.
    E ti ripeto che ne tu ne altri dicono cosa devo fare e cosa devo sostituire a cosa. Se volete rispondete altrimenti evitate di rispondere con cose che non riguardano la domanda, per quanto banale per voi possa essere.
    Detto questo la chiudo qua, ho segnalato anche io i tuoi messaggi in quanto li ritengo scorretti e scortesi tanto quanto per te lo sono i miei.
  • Re: NUMERI COMPLESSI IN C

    Chiudo il thread visto che è partito il flame.
    Invito tutti a dialogare con maggiore serenità e cortesia.
Devi accedere o registrarti per scrivere nel forum
14 risposte