YourPaste - For your paste! Archive - Tools - Login

Posted by 157-159 on Tue 30 Jun 2009 16:29 227 views - Syntax: C - Expires: never - Report - IMG - Download -

  1. # include <stdio.h>
  2.  
  3. struct s_liste{
  4.                char buchstabe;
  5.                struct s_liste *next;
  6.                };
  7.  
  8. struct s_liste *liste=NULL, *hilf;
  9.  
  10.  
  11.  
  12.  
  13. void anhaengen(struct s_liste *liste,const struct s_liste *neu){
  14.                       if(liste != NULL){
  15.                                   while(liste->next != NULL){
  16.                                                     liste=liste->next;
  17.                                                     }
  18.                                                     liste->next=neu;
  19.                                                     }
  20.                                                     else{
  21.                                                          liste=neu;
  22.                                                          }
  23.                                                          }
  24. void freigabe(const struct s_liste *liste){
  25.                     if(liste != NULL){
  26.                                 while(liste->next != NULL){
  27.                                                   free(liste);
  28.                                                   liste=liste->next;
  29.                                                   }                                                  
  30.                                                   }
  31.                                                   else{
  32.                                                        free(liste);                                                
  33.                                                        }
  34.                                                   }
  35.                                                  
  36. void ausgabe(const struct s_liste *liste){
  37.                     if(liste != NULL){
  38.                                 while(liste->next != NULL){
  39.                                                   printf("%c",liste->buchstabe);
  40.                                                   liste=liste->next;
  41.                                                   }
  42.                                                   printf("%c",liste->buchstabe);                                                  
  43.                                                   printf("\n");
  44.                                       }
  45.                     else{printf("Liste leer");}
  46.                     }
  47.  
  48. int suchen(struct s_liste *liste, const char buchstabe){
  49.                   int anzahl=0;
  50.                   if( liste!= NULL ){
  51.                               while(liste->next != NULL){
  52.                                                 if(liste->buchstabe == buchstabe){anzahl++;}
  53.                                                 liste=liste->next;
  54.                                                 }
  55.                                                 if(liste->buchstabe==buchstabe){anzahl++;}                                              
  56.                                                 }
  57.                                                 return anzahl;
  58.                                                        }                                
  59.  
  60. void entfernen(struct s_liste *liste, const char buchstabe){
  61.                       if(liste != NULL){
  62.                                   while(liste->next != NULL && liste->next->buchstabe!= buchstabe){
  63.                                                     liste=liste->next;                                            
  64.                                                     }
  65.                                                     if(liste->next == NULL){printf("Element nicht gefunden");}
  66.                                                     else{hilf=liste->next->next;
  67.                                                         liste->next=hilf;}              
  68.                                                     }
  69.                                                                                     }
  70.  
  71. int main(){
  72.            struct s_liste *liste= NULL;          
  73.                      
  74.            char input,temp;
  75.            scanf("%c%c",&input,&temp);
  76.            while(((input>='A') && (input<='Z')) || ((input>='a') && (input<='z'))){
  77.                                if(liste==NULL){liste=malloc(sizeof(struct s_liste));}                    
  78.                                struct s_liste *neu;
  79.                                neu=malloc(sizeof(struct s_liste));
  80.                                neu->buchstabe=input;
  81.                                neu->next=NULL;
  82.                                anhaengen(liste,neu);
  83.                                scanf("%c%c",&input,&temp);
  84.                                }
  85.            ausgabe(liste);
  86.            printf("Welchen Buchstaben entfernen?");
  87.            char b;
  88.            scanf("%c%c",&b,&temp);
  89.            int i=suchen(liste,b);
  90.            while(i){
  91.                     printf("Buchstabe kommt %i mal vor\n",i);
  92.                     entfernen(liste,b);
  93.                     ausgabe(liste);
  94.                     i=suchen(liste,b);
  95.                     }
  96.            if(i==0){printf("Buchstabe nicht vorhanden\n");}
  97.            ausgabe(liste);
  98.            freigabe(liste);      
  99.            system("pause");
  100.            }
  101.  

Comments


Name:
Comment:

© 2010 YourPaste.net - Disclaimer