Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Aiuto!!! che cosa ha il mio codice che non va?
Forum - C/C++ - Aiuto!!! che cosa ha il mio codice che non va?

Avatar
nino9401 (Normal User)
Newbie


Messaggi: 6
Iscritto: 28/01/2012

Segnala al moderatore
Postato alle 20:22
Sabato, 28/01/2012
Questo topic è stato chiuso dal moderatore

cosa c'è che non va nel mio codice, nn mi fà il risultato atteso, è la prima volta che mi trovo in difficoltà -.-"

Titolo:
Scrivere un programma, facendo uso di funzioni che permette di eseguire la somma di due polinomi omogenei
            P1(x) e P2(x) di grado N(max=5)
( definire gli elementi dei polinomi come record aventi due campi {(coeff)(grado) )
Visualizzare il polinomio risultante (stampa tramite funzione)

Codice sorgente - presumibilmente C++

  1. #include<iostream.h>
  2.  
  3. typedef struct Polinomio
  4. {
  5.        float coeff;
  6.        int grado;
  7.        }; Polinomio P1[5],P2[5],S[5];
  8.        
  9. void dimensiona(void)
  10. {
  11.      int N;
  12.      do{
  13.                      cout<<"qual'e' il grado del polinomio da inserire?";
  14.                      cin>>N;
  15.                      }while(N<0 || N>5);
  16.                      return;
  17.                      }
  18.                      
  19. void carica(Polinomio P1[],int N)
  20. {
  21.      int I;
  22.      for(I=0;I<N;I++)
  23.      {
  24.                      cout<<"inserisci coefficiente";
  25.                      cin>>P1[I].coeff;
  26.                      cout<<"inserisci grado";
  27.                      cin>>P1[I].grado;
  28.                      }
  29.                      return;
  30.                      }
  31.                      
  32. int somma(Polinomio P1[], int N,Polinomio P2[])
  33. {
  34.     int I;
  35.     for(I=0;I<N;I++)
  36.     {
  37.                     if(P1[I].grado==P2[I].grado)
  38.    
  39.                                 S[I].coeff=P1[I].coeff+P2[I].coeff;
  40.                                 }                    
  41.                                 return S[I].coeff;
  42.                                 }
  43.                                
  44. void stampa(Polinomio S[],int N,Polinomio P1[], Polinomio P2[])
  45. {
  46.      int I;
  47.      cout<<"la somma dei singoli coefficienti e'";
  48.                      for(I=0;I<N;I++)
  49.                      {
  50.                                      cout<<S[I].coeff<<"  ";
  51.                      if(P1[I].grado!=P2[I].grado)
  52.                      {
  53.                      cout<<P1[I].coeff;
  54.                      cout<<"\t";
  55.                      cout<<P2[I].coeff;
  56.                      }}
  57.                      return;
  58.                      }
  59.                      
  60. main()
  61. {int N;
  62. dimensiona();
  63. cout<<endl<<endl;
  64. carica(P1,N);
  65. cout<<endl<<endl;
  66. carica(P2,N);
  67. cout<<endl<<endl;
  68. somma(P1,N,P2);
  69. cout<<endl<<endl;
  70. stampa(S,N,P1,P2);
  71. cout<<endl<<endl;
  72. system("PAUSE");
  73. }


PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:44
Sabato, 28/01/2012
E cosa non va? Dobbiamo immaginarlo?

Quale input fornisci? Quale output hai? Quale dovresti avere?

Hai errori in compilazione? In esecuzione? Quali !?

L'unica cosa evidente di sbagliato è che utilizzi una variabile

N

nel main, e un'altra N nella funzione dimensiona ...

Ovviamente devi usare quella del main, passandola alla funzione dimensiona per puntatore.

Ultima modifica effettuata da nessuno il 28/01/2012 alle 20:47


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM
Avatar
nino9401 (Normal User)
Newbie


Messaggi: 6
Iscritto: 28/01/2012

Segnala al moderatore
Postato alle 20:52
Sabato, 28/01/2012
ero venuto qua per chiedere ma tu hai scritto un sacco di ? senza dirmi molto, cmq la so la teoria sulle variabili globali  e locali, ma se io non la metto dentro la funzione dimensiona mi porta l'errore... -.-"
mi sapresti aiutare??

PM
Avatar
nino9401 (Normal User)
Newbie


Messaggi: 6
Iscritto: 28/01/2012

Segnala al moderatore
Postato alle 21:07
Sabato, 28/01/2012
io è solo 1 anno e mezzo che faccio informatica e mi sn innamorato della programmazione, ma è da poco che ci è stato spiegato il record... io ho provato a farlo ma adesso non so + come agire... :(

Ultima modifica effettuata da nino9401 il 28/01/2012 alle 21:11
PM
Avatar
nino9401 (Normal User)
Newbie


Messaggi: 6
Iscritto: 28/01/2012

Segnala al moderatore
Postato alle 21:08
Sabato, 28/01/2012
io è solo 1 anno e mezzo che faccio informatica e mi sn innamorato della programmazione, ma è da poco che ci è stato spiegato il record... io ho provato a farlo ma adesso non so + come agire... :(

PM
Avatar
nino9401 (Normal User)
Newbie


Messaggi: 6
Iscritto: 28/01/2012

Segnala al moderatore
Postato alle 21:09
Sabato, 28/01/2012
io è solo 1 anno e mezzo che faccio informatica e mi sn innamorato della programmazione, ma è da poco che ci è stato spiegato il record... io ho provato a farlo ma adesso non so + come agire... :(

PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:45
Sabato, 28/01/2012
Testo quotato

Postato originariamente da nino9401:

ero venuto qua per chiedere ma tu hai scritto un sacco di ? senza dirmi molto



Senti ... se ti ho fatto delle domande (tanti ? si dice "tante domande") vuol dire che tu hai aperto una discussione senza dare le giuste informazioni per poterti rispondere.

Se preferisci non avere alcuna risposta (o peggio, aver chiuso la discussione) fai pure ma sei tu ad avere il problema e sarebbe opportuno per te rispondere alle domande che ti fa qualcuno che si è *interessato* al TUO problema.

Testo quotato

cmq la so la teoria sulle variabili globali  e locali



No ... non mi pare, perché se la conoscessi non avresti scritto quel codice sbagliato.

Testo quotato

ma se io non la metto dentro la funzione dimensiona mi porta l'errore... -.-"



Proprio perché non conosci la teoria ...

Testo quotato

mi sapresti aiutare??  



Quando chiami la funzione dimensiona scrivi

dimensiona(&N);

che diventerà

Codice sorgente - presumibilmente C/C++

  1. void dimensiona(int *num)
  2. {
  3.      do{
  4.            cout<<"qual'e' il grado del polinomio da inserire?";
  5.            cin>>*num;
  6.           }while(*num<0 || *num>5);
  7.            
  8.      return;
  9. }



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM
Avatar
Lupinthe3d (Normal User)
Newbie


Messaggi: 10
Iscritto: 24/01/2012

Segnala al moderatore
Postato alle 0:51
Domenica, 29/01/2012
prima di commentarti il codice, dimmi una cosa : l'errore te lo da in compilazione, oppure il programma va in esecuzione ma senza i risultati sperati ?

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 2:02
Domenica, 29/01/2012
Questo topic è in violazione di una o più norme del regolamento: http://www.pierotofy.it/pages/extras/forum/9/3839-regolame ... .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.

PM