Kopieren von komponenten eines Vektors



  • Hey Leute, als newbie moechte ich gerne mit einem einfachen Programm anfangen.
    #include <stdio.h>

    main()
    {
    char s1[10];//Zeichenkette mit variabler Länge//
    char s2[10];
    char s3[10];

    printf("\nBitte geben Sie die erste Zeichenkette ein\n");
    printf("\n-> ");
    scanf("%s", &s1); //Hier wird der Eintrag, den man eingibt, auf einen Vektor uebergeben//
    printf("\n");

    //Wenn die erste Eingabe beendet ist und mit 'Enter' bestaetigt wird, dann wird mit der If-Anweisgung die zweiite Eingabe gefordert
    if("\n")
    {
    printf("Bitte geben Sie die zweite Zeichenkette ein\n");
    printf("\n-> ");
    scanf("%s", &s2);
    printf("\n");
    }

    if("\n")
    {
    //s1 ist mein erster Eingabevektor, jeder Buchstabe wird als Komponente von s1 gesehen. s2 ist mein zweiter Eingabevektor
    //Nun soll der Vektor s1 auf s3 kopiert werden, dabei soll jede Komponente aus s1, die ebefalls als Komponente ins s2 auftaucht, nicht mehr im Ausgangsvektor s3 vorhanden sein.

    int i, j, k, l;

    i= j = k = l =0;

    while(s1[i]<=s1[10])//Nun wird der Vektor (max. Laenge 10) komponentenweise kopiert
    {
    if(s1[i] != " ")//Das Programm macht jetzt eine Fallunterscheidung. Die 'if'Abfrage soll die einzelnen Komponente pruefen, ob dort ein Zeichen vorhanden ist
    {
    for(j=0; s2[j]<=s2[10];j++)//Wenn ein Zeichen an der Position vorhanden ist, dann wird mit der for-Schleife geprueft ob das Zeichen auch im zweiten Vektor vohanden ist.
    {
    if(s1[i] != s2[j])
    {
    l++; //Index l wird um 1 erhoeht
    }
    }

    if(l=10)//Der Zaehler zeigt an, dass das Zeichen nicht im Vektor s2 auftaucht. Trifft dies zu, dann wird das Zeichen dem Ausgabevektor zugefuegt.
    {
    s3[k]=s1[i];
    k++;
    }

    i++;
    }
    else ++i;
    }
    //Sind alle Positionen abgearbeitet, dann wird der Ausgabevektor mit den uebrigen Zeichen augedruckt
    printf("Nun wird die jedes Zeichen aus der ersten Eingabe entfernt,");
    printf("welches ebenfalls in der zweiten Eingabe vorhanden ist. Resultat ist\n");
    printf("\n-> ");
    printf("%s",&s3);

    printf("\n");
    printf("\n");

    }

    }

    Was das Programm machen soll ist ziemlich simpel, aber irgendwie komme ich wahrscheinlich noch mit den Datentypen noch durcheinander. Also hoffe ich, das Ihr mir weiterhelfen koennt.



  • Bitte editiere deinen Beitrag und benutze Code-Tags. Das will ja sonst keiner lesen... 🙂


Anmelden zum Antworten