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++ - somma polinomi con sole potenze pari
Forum - C/C++ - somma polinomi con sole potenze pari

Avatar
stella.p (Normal User)
Newbie


Messaggi: 11
Iscritto: 31/10/2009

Segnala al moderatore
Postato alle 18:40
Mercoledì, 25/11/2009
Scrivere un programma C++ che legge un intero positivo n, un numero
reale alfa e i coefficienti di un polinomio p2n(x) di grado 2n; successivamente
calcola il valore p2n(alfa) - sfruttando l'esistenza di sole potenze pari - e lo stampa
sul video.

Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define N 20
  5.  
  6. int leggi_coefficienti(float v[N]) {
  7.     int i,n;
  8.     printf("\n\nInserisci il grado del polinomio:");
  9.     scanf("%d",&n);
  10.    
  11.     for (i=n;i>=0;i--){
  12.     printf("\n\nInserisci il coefficiente numero ");
  13.     printf("%d: ",i);
  14.        scanf("%f",&v[i]);}
  15.     return (n);
  16. }
  17.  
  18. void stampa_polinomio(float a[N], int n) {
  19.      int i;
  20.      printf("\n\nP(x)=%f * x^%d",a[n],n);
  21.      for (i=n-1;i>0;i--)
  22.        if(a[i]!=0.0)
  23.           printf("+ %f * x^%d",a[i],i);
  24.        if(a[0]!=0.0)
  25.           printf("+ %f",a[0]);
  26.           return;
  27. }
  28.      
  29. float P_alfa(float a[N], int n, float &alfa){
  30.       float s=a[n];
  31.       int i;
  32.       printf("\n\n\nInserisci un numero reale alfa: ");
  33.       scanf("%f",&alfa);
  34.      
  35.       for (i=n-1;i>=0;i--)
  36.       s=s*alfa+a[i];
  37.       return(s);
  38. }
  39.  
  40. int main(void) {
  41.     int n;
  42.     float a[N],p,alfa;
  43.    
  44.     n=leggi_coefficienti(a);
  45.     stampa_polinomio(a,n);
  46.     p=P_alfa(a,n,alfa);
  47.     printf("\n\nP(%f)=%f\n",alfa,p);
  48.     system ("PAUSE"); return (1);
  49. }



io con questo codice ho calcolato pn(alfa) ma non riesco a calcolare p2n(alfa).. le ho provate tutte ma non riesco a far uscire in video il polinomio con soli potenze pari di alfa.
Qualcuno sa aiutarmi?? Grazie mille a tutti coloro che mi aiuteranno..

EDIT by HeDo: Il codice va racchiuso tra i tag code

Ultima modifica effettuata da HeDo il 25/11/2009 alle 20:05
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 20:16
Mercoledì, 25/11/2009

beh prima di scrivere del codice devi pensare a cosa fare. Il polinomio 2n penso sia il polinomio con potenze doppie, vuol dire che i coefficienti che inserisci non si riferiscono a x^0, x^1, x^2, x^3, ... ma a x^0, x^2, x^4, ...

per calcolare p2n(alfa) basta scrivere un ciclo che ha una variabile accumulatrice alla quale man mano aggiungi coeff * (alfa ^ (2 * n)) dove n è indice del ciclo. (N.B l'operatore ^ non esiste in C/C++, puoi usare la funzione pow contenuta in math.h oppure, essendo una potenza nota, puoi svolgere n^2 come n*n)

PM Quote
Avatar
stella.p (Normal User)
Newbie


Messaggi: 11
Iscritto: 31/10/2009

Segnala al moderatore
Postato alle 11:26
Giovedì, 26/11/2009
Grazie mille per la tua risposta.. Ho provato a fare come hai detto tu ma credo di sbagliare ancora qualcosa.. In output quando mi chiede di inserire i coefficienti del polinomio, dovrebbe chiedermi solo quelli delle potenze pari e poi calcolare p(alfa), invece se per esempio scrivo n=2 mi chiede di inserire i coefficienti di x^4, x^3, x^2, x^1, x^0..  :om:

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 14:10
Giovedì, 26/11/2009
Testo quotato

Postato originariamente da stella.p:

Grazie mille per la tua risposta.. Ho provato a fare come hai detto tu ma credo di sbagliare ancora qualcosa.. In output quando mi chiede di inserire i coefficienti del polinomio, dovrebbe chiedermi solo quelli delle potenze pari e poi calcolare p(alfa), invece se per esempio scrivo n=2 mi chiede di inserire i coefficienti di x^4, x^3, x^2, x^1, x^0..  :om:



codice?

PM Quote