Array ausgeben als Polynom...



  • Hallo ich hoffe einer von euch kann mir hierbei helfen:
    Ich habe ein Array in dem Max. 10 float Zahlen gespeichert sind. Für die aktuelle anzahl der Menge habe ich die die Variable count. Jede Zahl im Array steht für einen Koeffiezienten in dem Polynom.
    Ich habe zum Beispiel die Zahlen: 2,25 -3,00 -0,75 0,50 im Array. Count wäre ja in diesem Falle gleich 4.
    Jetzt soll ich dieses folgenderweise mithilfe einer for-Schleife ausgeben(Reihenfolge wichtig!!! 1.Zahl im Array =a0 2.Zahl =a1...usw ) :

    y = 0,50*x^3 + -0,75*x^2 + -3,00*x^1 +2,25

    Wie mache ich das? 😕



  • for(int n=count-1;n>=0;++n)
    {
      //'n' ist Exponent des aktuellen Terms
      int pos=count-1-n;//'pos' ist Position des zugehörigen Koeffizienten
      cout<<koeff[pos]
      switch(n)
      {
      case 0:
        cout<<endl;
        break;//a0 - letzter Koeffizient
      case 1:
        cout<<"*x ";
        break;//a1 - linearer Term
      default:
        cout<<"*x^"<<n<<' ';
        break;//a2..an - exponentielle Terme
      }
    }
    


  • Danke! Aber geht das auch ohne switch ??



  • Ja, du kannst dort auch ein "if(n==0)...else if(n==1)...else..." einbauen 😉

    (da ich gerade sehe, wo ich bin - in C solltest du statt der cout<< entsprechende printf()-Anweisungen verwenden)



  • sind das deine hausaufgaben?



  • @cstoll in einer schleife abzufragen, welcher index grad da ist und dementsprechende anweisungen is nicht grad performant. günstiger wäre wohl (wenn man die ausgabe genau so haben will wie du das da zeigst ein nachlauf, in dem man die letzten koeffizienten ausgibt.


Anmelden zum Antworten