13.07.2015 Aufrufe

Einführung in C/C++ - Alex-weingarten.de

Einführung in C/C++ - Alex-weingarten.de

Einführung in C/C++ - Alex-weingarten.de

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

26 KAPITEL 1. PROGRAMMIEREN IN C/<strong>C++</strong>zur Meßwerterfassung und -aufbereitung und für beson<strong>de</strong>re mathematische Aufgaben. Auchaus <strong>de</strong>m Netz laufen Bibliotheken zu. Eigene Bibliotheken erzeugt man mit <strong>de</strong>m UNIX-Kommando ar(1); das Datei-Format ist unter ar(4) beschrieben. E<strong>in</strong> Beispiel zeige <strong>de</strong>nGebrauch. Wir haben e<strong>in</strong> Programm statistik.c zur Berechnung von Mittelwert und Varianz<strong>de</strong>r <strong>in</strong> <strong>de</strong>r Kommandozeile mitgegebenen ganzen Zahlen geschrieben:/* Statistische Auswertung von e<strong>in</strong>gegebenen WertenPrivat-Bibliothek ./libstat.a erfor<strong>de</strong>rlichCompileraufruf cc statistik.c -L . -lstat*/#<strong>de</strong>f<strong>in</strong>e MAX 100 /* max. Anzahl <strong>de</strong>r Werte */#<strong>in</strong>clu<strong>de</strong> void exit(); double mwert(), varianz();ma<strong>in</strong>(<strong>in</strong>t argc, char *argv[]){<strong>in</strong>t i, a[MAX];if (argc < 3) {puts("Zuwenig Werte"); exit(-1);}if (argc > MAX + 1) {puts("Zuviel Werte"); exit(-1);}/* Uebernahme <strong>de</strong>r Werte <strong>in</strong> e<strong>in</strong> Array */a[0] = argc - 1;for (i = 1; i < argc; i++) {sscanf(argv[i], "%d", a + i);}/* Ausgabe <strong>de</strong>s Arrays */for (i = 1; i < argc; i++) {pr<strong>in</strong>tf("%d\n", a[i]);}/* Rechnungen */pr<strong>in</strong>tf("Mittelwert: %f\n", mwert(a));pr<strong>in</strong>tf("Varianz: %f\n", varianz(a));return 0;}Quelle 1.9 : C-Programm Statistik mit Benutzung e<strong>in</strong>er eigenen FunktionsbibliothekDas Programm verwen<strong>de</strong>t die Funktionen mwert() und varianz(), die wir aus e<strong>in</strong>erhausgemachten Funktionsbibliothek namens libstat.a entnehmen. Der im Kommentargenannte Compileraufruf mit <strong>de</strong>r Option -L . veranlaßt <strong>de</strong>n L<strong>in</strong>ker, diese Bibliothek imArbeits-Verzeichnis zu suchen. Die Funktionen sehen so aus:double mwert(x)<strong>in</strong>t *x;{<strong>in</strong>t j, k;double m;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!