Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Einfach verkettete Liste
- 1) Durchschnittsberechnung mit
- Ausgabe der Werte ueber dem Durchschnitt und
- variabler Werteanzahl.
- */
- #include <iostream>
- #include <stdio.h>
- #include <stdlib.h>
- using namespace std;
- struct wert_typ
- {
- //control
- wert_typ *next;
- //data
- int wert;
- };
- int main ()
- {
- struct wert_typ *start, *work;
- int anzahl=0;
- float summe=0,durchschnitt;
- //Null-Liste
- start = NULL;
- // Ein undefinierter Zeiger zeigt meist dorthin, wo er den groessten Schaden anrichten kann.
- work=NULL;
- cout<<"Anzahl der Werte"<<endl;
- cin>>anzahl;
- //Speicher reservieren
- for (int i=0;i<anzahl;i++)
- {
- work = (wert_typ *)malloc (sizeof(wert_typ));
- // ^ typisieren des untypisierten Zeigers
- //Einbau des neuen Blockes
- work->next = start;
- //(*work).next
- start=work;
- work=NULL;
- cout<<"Wert?"<<endl;
- cin>>start->wert;
- }
- //Zugriff Ausgabe
- work=start;
- cout<<"Messwert: \n";
- while (work!=NULL)
- {
- printf("%p: %d\n\r", work,work->wert);
- work=work->next;
- }
- cout<<"\n";
- //Zugriff Durchschnitt
- work=start;
- while(!work==NULL)
- {
- summe=summe+work->wert;
- work=work->next;
- }
- work=NULL;
- durchschnitt=summe/anzahl;
- cout<<"Durchschnitt="<<durchschnitt<<"\n";
- //Zugriff Ausgabe der Werte ueber Durchschnitt
- work=start;
- while(!work==NULL)
- {
- if(work->wert>durchschnitt)
- cout<<work->wert<<"\n";
- work=work->next;
- }
- // Freigabe des Speichers
- while(!start==NULL)
- {
- //Ausbau des Blockes
- work=start;
- start=work->next;
- work->next=NULL;
- free(work);
- work=NULL;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement