Forum
Tipps
News
Menu-Icon

Unterprogramme in C?

Hallo,

ich hab fast keine Ahnung von Programmierung und steh hier vor einem zur Zeit für mich unlösbarem Problem. Ich hab eine Programm mit dem ich die Nullstellen eines Polynoms berechnen kann. Soviel dazu.
Jetzt soll ich das Programm in Unterprogramme zerlegen und umschreiben. Es soll ein C-Programm bleiben! Irgendwie mit "void" oder so?!

So sieht der Code aus:

#include "stdafx.h"

int main(int argc, char* argv[])

{
   
   const int n = 6;
   const double eps = 1E-6;
   double P[n];
   double PS[n-1];
   double startwert;
   double y;
   double ys;
   double xn;

   int inp;

   do {

      for(int i=n; i--; ) {
         printf("a[%d] = ",i);
         float x;
         scanf ("%f",&x);
         P = x;
      }
      printf("startwert =  ");
      float x;
      scanf("%f",&x);
      startwert = x;
      xn = startwert;
      for(i = n-1; i--; ) {
         PS = (i+1)*P[i+1];

      }
      y = P[n-1];
      for (i = n-1; i--; ) {
         y *= xn;
         y += P;
              }
      while ((-eps > y) || (y > eps)) {
         ys = PS[n-2];
         for (i = n-2; i--; ) {
            ys *= xn;
            ys += P;
         }
         xn = xn - y/ys;
         y = P[n-1];
         for (i = n-1; i--; ) {
            y *= xn;
            y += P;
         }
      }
      printf("Nullstelle x = %10.5f zum startwert = %10.5\n",xn,startwert);
      printf("Funktionswert y = %10.5f Ableitung y' = %10.5f\n",y,ys);
      printf("Weiter? Abbruch mit 0");
      scanf("%d",&inp);
   }while (inp != 0);

return 0;
}

Bin über jeden Tip dankbar!


Antworten zu Unterprogramme in C?:

Was meinst du mit Unterprogrammen? Ich denke, die Aufgabe ist Funktionen zu verwenden.
Benutzt du sonst MATLAB? Ich meine nur wegen dem eps?

Gruss

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Unterprogramme sind (soviel ich weiss) stinknormale funtkionen

Zitat
Jetzt soll ich das Programm in Unterprogramme zerlegen und umschreiben. Es soll ein C-Programm bleiben! Irgendwie mit "void" oder so?!

So sieht der Code aus:

#include "stdafx.h"

int main(int argc, char* argv[])

{
   
   const int n = 6;
   const double eps = 1E-6;
   double P[n];
   double PS[n-1];
   double startwert;
   double y;
   double ys;
   double xn;

   int inp;

   do {

      for(int i=n; i--; ) {
         printf("a[%d] = ",i);
         float x;
         scanf ("%f",&x);
         P = x;
      }
      printf("startwert =  ");
      float x;
      scanf("%f",&x);
      startwert = x;
      xn = startwert;
      for(i = n-1; i--; ) {
         PS = (i+1)*P[i+1];

      }
      y = P[n-1];
      for (i = n-1; i--; ) {
         y *= xn;
         y += P;
              }
      while ((-eps > y) || (y > eps)) {
         ys = PS[n-2];
         for (i = n-2; i--; ) {
            ys *= xn;
            ys += P;
         }
         xn = xn - y/ys;
         y = P[n-1];
         for (i = n-1; i--; ) {
            y *= xn;
            y += P;
         }
      }
      printf("Nullstelle x = %10.5f zum startwert = %10.5\n",xn,startwert);
      printf("Funktionswert y = %10.5f Ableitung y' = %10.5f\n",y,ys);
      printf("Weiter? Abbruch mit 0");
      scanf("%d",&inp);
   }while (inp != 0);

return 0;
}

Bin über jeden Tip dankbar!

also unterprogramme gibt es so in c nicht, nur funktionen mit void (ohne rückgabewert) bzw. mit int (dann integer-wert als rückgabewert mit return a, wenn a ne integer-variable ist). die funktion legst du außerhalb der main-funktion an und kannst sie dann innerhalb der main-funktion aufrufen. ich würd an deiner stelle also die nullstellenberechnung auslagern in ne funktion und die funktion dann in der while-schleife aufrufen.
vorteil: das programm wird dadurch übersichtlicher.

Herzlichen Dank for the Information!!!!!!!!!

MFG
Kopiermeister,
Schreibmaschienenlehrling,
Versuchsprogrammierer


« SchaltkreisanzeigeC++ Ordner auslesen? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Zugriffszeit
In Milisekunden angegebene Zeit, die das Speichermedium zum Erreichen der gesuchten Daten braucht. Die Zeit ist abhängig vom technischen Verfahren des Mediums sowie ...

Reaktionszeit
In der Elektronik versteht man unter der Reaktionszeit die Zeit, die ein Flachbildschirm benötigt, um die Farbe und die Helligkeit eines Bildpunktes zu ändern. ...

Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...