Externe Funktion

Tutorials.at
Verfügbare Informationen zu "Externe Funktion"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Kimi - Xin
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 2
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Externe Funktion
  • Letzte Antwort: vor 16 Jahren, 4 Monaten, 19 Tagen, 1 Stunde, 4 Minuten
  • Alle Beiträge und Antworten zu "Externe Funktion"

    Re: Externe Funktion

    Kimi - 06.12.2007, 22:59

    Externe Funktion
    Hi bin dabei ein programm zu erstellen was 2 benachbarte zahlen den durschnittausrechnet bzw. den mittelwert.

    Also ich meine das so hier:

    Ein Benutzer kann maximal 20 (double) Zahlen eingeben (oder auch weniger, 20 sollte die grenze sein und die 0 soll ignoriert werden).
    Abbruch bzw das ende des programms sollte mit zweimaliger Eingabe von 0 beendet werden.
    In einem zweiten Schritt berechnet eine Funktion den Durchschnitt von zwei benachbarten Zahlen, hier habe ich ja schon eine funktion die den durschnitt berechnet aber halt ebend die ganen zahlen und sie soll ihn zwischen die beiden Zahlen schreiben.
    Dabei sollte nur die relevanten (nicht Null) Kommastellen (maximal) ausgegeben werden.


    Hier mal ein Beispiel mit Werten:

    Benutzereingabe (| = Enter) 1.2 | 5 | 0 | 3.5 | 2 | 0 | 0 |



    soll auf 1.2 | 3.1 | 5 | 4.25 | 3.5 | 2.75 | 2 | gehen.

    Hmm habe mal angefangen aber hmmmm ich sollte das wohl besser mit array machen, aber da habe ich immer so probleme.

    Deswegen über hilfe würde ich mich echt freuen.



    Dann bringt visual studio bei mir beim ausführne einen fehler bzw. während des ausführens aber ich muss sagen das eigentlich alles funktioniert und trotzdem kommt der fehler bzw während der ausführung kommt ein fenster ausführen oder weiter machen.

    Wenn ich auf weiter klicke dann gibt das programm die ergebnisse aus.

    Naja wie gesagt kann sein das ich viele Fehler so gemacht habe.


    Code: #include <stdio.h>

    double mittelwert(double summe, double anzahl, double mittelw)
    {
       mittelw=summe/anzahl;
       printf("\n\nSumme der Zahlen = %f",summe);
       return (mittelw);
    }

    main(void)
    {
       int x,anzahl;
       double zahl, summe=0.0,mittelw;
       printf("\n\tS T A T I S T I K\n");
       printf("\nWieviel Werte wollen Sie eingeben:");
       scanf("%i", &anzahl);
       printf("\n");
       for(x=1; x<=anzahl; x=x+1)
       {
          printf("Bitte %i, Zahl eingeben:",x);
          scanf("%lf", &zahl);
          summe=summe+zahl;
       }
       printf("\nMittelwert der Zahlen = %lf",mittelwert(summe,anzahl,mittelw));
       getch();
    }

    Besten Dank!!!!



    Re: Externe Funktion

    Xin - 07.12.2007, 00:17

    Re: Externe Funktion
    Kimi hat folgendes geschrieben: Hi bin dabei ein programm zu erstellen was 2 benachbarte zahlen den durschnittausrechnet bzw. den mittelwert.

    Also ich meine das so hier:

    Ein Benutzer kann maximal 20 (double) Zahlen eingeben (oder auch weniger, 20 sollte die grenze sein und die 0 soll ignoriert werden).
    Abbruch bzw das ende des programms sollte mit zweimaliger Eingabe von 0 beendet werden.
    In einem zweiten Schritt berechnet eine Funktion den Durchschnitt von zwei benachbarten Zahlen, hier habe ich ja schon eine funktion die den durschnitt berechnet aber halt ebend die ganen zahlen und sie soll ihn zwischen die beiden Zahlen schreiben.
    Dabei sollte nur die relevanten (nicht Null) Kommastellen (maximal) ausgegeben werden.
    Hmm... interessante Frage, ob es möglich ist, die Kommastellen derart formatieren zu lassen. Im Notfall musst Du herausfinden, wieviele Kommastellen es gibt und Deinen Formatstring ebenfalls von Hand erzeugen.

    Bisschen Aufwand, aber machbar.

    Kimi hat folgendes geschrieben:
    Hier mal ein Beispiel mit Werten:

    Benutzereingabe (| = Enter) 1.2 | 5 | 0 | 3.5 | 2 | 0 | 0 |

    soll auf 1.2 | 3.1 | 5 | 4.25 | 3.5 | 2.75 | 2 | gehen.

    Hmm habe mal angefangen aber hmmmm ich sollte das wohl besser mit array machen, aber da habe ich immer so probleme.
    Wenn Du mit Arrays Probleme hast, schau Dir C Strings an und spiel damit.

    Ich tue mich eh etwas schwer mit diesen Gib-zwei-Zahlen-ein-und-der-Computer-berechnet-irgendwas-damit-Übungen: LAAAAAANGWEILIG!

    Versuch Dich doch mal in Kryptographie. Mit dem, was Du jetzt kannst, kannst Du Texte beispielsweise ROT13 verschlüsseln.
    Schau unter Wikipedia und schreib ein Programm, dass "P yreara zhff avpug ynatjrvyvt frva." dekodiert.
    Hier musst Du auch mit Arrays umgehen und hast eine kleine Verschlüsselung dabei. Während man zum Knacken von ROT13 eigentlich nichtmals einen Computer benötigt, kommt man mit dem KnowHow auch schnell zu Enigma-Verschlüsselungen, die massiv schwerer zu knacken ist und doch einfach zu programmieren.

    C zu lernen muss nicht langweilig sein.

    Kimi hat folgendes geschrieben: Deswegen über hilfe würde ich mich echt freuen.

    Dann bringt visual studio bei mir beim ausführne einen fehler bzw. während des ausführens aber ich muss sagen das eigentlich alles funktioniert und trotzdem kommt der fehler bzw während der ausführung kommt ein fenster ausführen oder weiter machen.
    Syntax error in previous statement.
    Ready.

    Anders ausgedrückt: Alles funktioniert, aber Irgendwas tut's nicht...?!

    Kimi hat folgendes geschrieben: Wenn ich auf weiter klicke dann gibt das programm die ergebnisse aus. Naja wie gesagt kann sein das ich viele Fehler so gemacht habe.
    Unter GNU/Linux, kompiliert mit GCC läuft das Programm ohne Segmentation Fault durch. Es tut nicht, was Du da oben beschreibst, aber es stürzt auch nicht ab.

    Ich stelle mal ein paar Fragen:

    Code: #include <stdio.h>

    double mittelwert(double summe, double anzahl, double mittelw)
    {
       mittelw=summe/anzahl;
       printf("\n\nSumme der Zahlen = %f",summe);
       return (mittelw);
    }


    Wieso übergibst Du die Variable 'mittelw'?
    Wieso ist Anzahl ein 'double'?

    Beides ist - aus Designgründen - falsch, beeinträchtigt aber nicht funktionsfähigkeit der Funktion.

    Code: main(void)
    {
       int x,anzahl;
       double zahl, summe=0.0,mittelw;
       printf("\n\tS T A T I S T I K\n");
       printf("\nWieviel Werte wollen Sie eingeben:");
       scanf("%i", &anzahl);
       printf("\n");
       for(x=1; x<=anzahl; x=x+1)
       {
          printf("Bitte %i, Zahl eingeben:",x);
          scanf("%lf", &zahl);
          summe=summe+zahl;
       }
       printf("\nMittelwert der Zahlen = %lf",mittelwert(summe,anzahl,mittelw));
       getch();
    }

    Hier fällt mir nur %i statt %d auf. %i kenne ich gar nicht, der GCC meckert aber nicht und wirft auch eine Dezimalzahl raus. Trotzdem sollte es %d heißen.

    Ansonsten: mach ein double-Array: double zahl[20] und lies die Zahlen dort ein: scanf( "%lf", &zahl[i] ); Anschließend kannst Du die Mittelwerte der Zahlen in einer Schleife berechnen: ( zahl[i] + zahl[i+1] / 2 ).

    Ivry Fcnß jrvgreuva.



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Hallo Welt Programm fehlgeschlagen - gepostet von fabolus am Freitag 05.05.2006
    Umrechner Arabische in Römische Zahlen - gepostet von Walgo am Donnerstag 19.07.2007
    Turbo C - gepostet von Mei$ter A^ am Montag 24.04.2006
    Moin - gepostet von Zhero am Dienstag 22.08.2006
    Umstieg von DevCpp zu Visual C++ 6.0 - gepostet von DrPhil_Guth am Mittwoch 28.03.2007
    hab ein problem mit turbo C - gepostet von AMÖ27 am Sonntag 13.05.2007
    Problem mit vp - gepostet von Moritz am Samstag 01.12.2007



    Ähnliche Beiträge wie "Externe Funktion"

    Einweisung & Anleitung zur Funktion des abteils - Logro (Montag 26.03.2007)
    Funktion - ivona1 (Samstag 15.04.2006)
    Externe Allypage - derb (Samstag 10.03.2007)
    Funktion gelesen - Syntax (Samstag 17.03.2007)
    Verbesserung Easy Entry Funktion 3-türer - Kalle (Montag 13.11.2006)
    Trim Funktion - Kimi (Freitag 28.12.2007)
    Funktion - Invalid (Mittwoch 26.04.2006)
    Berechnung einer quadratischen Funktion. - Kimi (Donnerstag 08.11.2007)
    Andruckrolle Zahnriemen ohne Funktion! - Netjoker (Mittwoch 17.05.2006)
    Gründungsmitglied ohne Funktion - Binti (Sonntag 24.12.2006)