Zeichen aus der Zeichenkette herauslöschen



  • STOP UPDATE

    #include <stdio.h>
    
    #define SIZE 20
    
    char squeeze(char s1,char s2);
    
    int main()
    {
      char eingabe1[SIZE],eingabe2[SIZE];
    
      int x,y;
    
      for(x=0;x<=(SIZE-1);x++)
      {
        eingabe1[x] = ' ';
        eingabe2[x] = ' ';
      }
    
      printf("Eingabe 1:\n");
      fgets(eingabe1, SIZE, stdin); //Weils so sicher ist!//
    
      printf("Eingabe 2:\n");
      fgets(eingabe2,SIZE,stdin);  //Weils so sicher ist!//
    
      for(x=0;x<=(SIZE-1);x++)
      {
        for(y=0;y<=(SIZE-1);y++)
        {
          eingabe1[y] = squeeze(eingabe1[y],eingabe2[x]);
        }
      }
      for(x=0;x<=(SIZE-1);x++)
      {
        printf("%c",eingabe1[x]);
      }
      return(0);  
    }
    
    char squeeze(char s1, char s2)
    {
      char k= ' ';
    
      if(s2==s1)
      {
        s1 = ' ';
      }
      else
      {
        k = s1;
      }
    
      return(k);
    }
    

    in der vorherigen war ein fehler! 😃

    IS DAT GUT SO??? 👍 😕



  • Hmmm und warum nicht einfach so?

    #define MAX_EINGABE 128
    
    int main(void)
    {
       char eingabe[MAX_EINGABE], loeschen[MAX_EINGABE];
       char * suche, * akt;
    
       printf("Bitte ein Wort eingeben:");
       fgets(eingabe, MAX_EINGABE, stdin); //ist sicherer als gets()
    
       printf("Bitte die zu löschenden Buchstaben eingeben:");
       fgets(loeschen, MAX_EINGABE, stdin);
    
       for(suche = loeschen; *suche; ++suche)
       {
          for(akt = eingabe; *akt; ++akt)
          {
             if(*akt == *suche)
             {
                *akt = ' ';
             }
          }
       }
    
       printf("Und das kommt dabei raus: %s", eingabe);
    }
    


  • Hat ich auch schon vorgeschlagen aber er braucht die squeeze funktion!!!
    Ich habs übersichtlich gemacht nicht mit lauter abkürzungen.
    Man soll es ja auch einigermaßen gut entschlüsseln können.



  • hab mich schon gefragt, was die If-Schleife da soll. Ich kommentiere den Quellcode immer durch um das Verständnis dafür zu bekommen, was ich da mache und was generell da steht.

    Aber gut, dass du das nochmal gesagt hast ! 🙂



  • Ist das jetzt gut so?



  • ja auf jeden Fall ich hab nur noch eine Frage. Denn wir speichern ja den Wert aus squeeze in eingabe[y]:

    eingabe1[y] = squeeze(eingabe1[y],eingabe2[x]);
    

    printf("%c",eingabe1[x]);
    

    Ah ich hab noch eine Frage... 😉 *nerv ich weiß*

    Wird in squeeze eine Zeile verglichen oder die Zeichen ? Ich denke die Zeichen oder täusche ich mich da ?



  • for(x=0;x<=(SIZE-1);x++)
    {
      printf("%c",eingabe1[x]);
    }
    

    gibt jedes zeichen einzeln aus
    Bsp.:
    eingabe1[0]
    eingabe1[1]
    usw...

    das x ist ein int wert genau wie y diese werden im Quelltext in der Schleife hochgezählt um die einzelnen Zeichen in squeeze zu überprüfen.
    ich hätte auch

    for(w=0;w<=(SIZE-1);w++)
    {
      printf("%c", eingabe1[w]);
    }
    

    nehmen können.

    In Zeichen wieso? 😃



  • alleine schon dass s1 und s2 char-Werte sind, lässt darauf schließen, dass es einzelne Zeichen sein müssen. 🕶



  • Ja schon klar nächstes mal kommentiere ich meine Codes!

    Aber das was ich jetzt gecodet hab ist verwertbar?
    🙂



  • hohesC schrieb:

    Ja schon klar nächstes mal kommentiere ich meine Codes!

    Aber das was ich jetzt gecodet hab ist verwertbar?
    🙂

    Absolut.... so wie es sein soll. Nene du musst nich kommentieren, da ich ansonsten gar nicht nachvollziehen muss, wie du es gemacht hast bzw gemeint hast.
    Ich muss ja auch hinter den Sinn des Programms kommen und verstehen lernen, wie die einzelnen Konstrukte funktionieren und programmiert werden.

    @ hohesC:
    Hast du eigentlich ICQ oder sowas ?



  • Kannst dich ja auf meiner Hompage im Gästebuch verewigen(und mich dabei sehr lobend erwähnen 😃 😃 😃 das wäre sehr nett!!!)
    Wenn du sonst mal ein Problem hast Kontekformular ausfüllen und senden.
    Weil ICQ nutze ich kaum.

    Also viel Spaß noch beim CODEN!!! 👍 😉



  • Hmmmm.... alles klar.... 😉

    @ hohesC:
    Benutzt du sonst kein Chat-System ?



  • doch ICQ aber sehr selten und im Geschäft ist so wat verboten!(leider)
    Aber ich hab ein Chat auf meiner HP!!!
    da könn mer mal chatten!



  • ja ist auf jeden Fall auch eine Möglichkeit.
    So jetzt muss ich mal ein anderes Programm machen.

    Mal sehen, wie ich damit umgehe 😕

    Auch wieder mit Zeichenketten , aber diesmal muss ich nur den ersten Wert aus dem Array ausgeben !

    Aufgabe für das nächste Programm: Schreiben sie eine Funktion, die die Position des ersten Zeichens in der Zeichenkette s1 liefert, das in der Zeichenkette s2 vorkommt. Enthält s1 kein Zeichen aus s2, so soll der Resultatwert -1 sein.
    - info: Die Bibliotheksfunktion strbrk macht dasselbe, liefert aber einen Zeiger auf die Stelle.



  • Viel Spaß! ich werd jetzt einen Algorithmus für ein TIC TAC TOE coden
    (aufjedenfall mal versuchen 😉 )


Anmelden zum Antworten