Problem beim Text



  • Hallo,

    wir haben eine aufgabe wo wir einen Text einlesen sollen und dann den Text wieder ausgeben sollen und noch die Länge und den Text rückwärts und den letzten Buchstabe.

    Den ersten Teil hab ich schon

    int main(){
    
    	char txt[256];
    	memset(txt,0,256);
    	char rtxt[256];
    	memset(rtxt,0,256);
    	printf("Text eingeben: ");
    	gets(txt);
    	int le= strlen(txt);
    	printf("\nDer Text ist:\n");
    	printf(txt);
    	printf("\nDie Länge ist:\n");
        printf("%d",le);
    	printf("\nDer Rückwärtstext ist:\n");
    	for(int i=0;i<le;i++) {
    		rtxt[i]=txt[le-1-i];
    	}
    	printf(rtxt);
    	printf("\n");
    	return 0;
    }
    

    Wie mach ich das mit dem letzten Buchstaben.



  • Die Frage wie du an den letzten Buchstaben kommst hast du dir doch schon selbst beantwortet. Überlegt dochmal was an dieser Stelle passiert, wenn die Schleife beginnt und i somit ==0 ist:

    rtxt[i]=txt[le-1-i];
    

    Dann weißt du um welches Zeichen es sich handelt und wie du es anschließend ausgibst. 😉



  • Ich habs jetzt schon geschaft

    int main(){
    
    	char txt[256];
    	memset(txt,0,256);
    	char rtxt[256];
    	memset(rtxt,0,256);
    	printf("Text eingeben: ");
    	gets(txt);
    	int le= strlen(txt);
    	printf("\nDer Text ist:\n");
    	printf(txt);
    	printf("\nDie Länge ist:\n");
        printf("%d",le);
    	printf("\nDer Rückwärtstext ist:\n");
    	for(int i=0;i<le;i++) {
    		rtxt[i]=txt[le-1-i];
    	}
    	printf(rtxt);
    
    	for(int i=0;i<le-1;i++) {
    		txt[i]='\r';
    	}
    	printf("\nDer letzte Buchstabe ist:\n");
    	printf(txt);
    	printf("\n");
    	return 0;
    }
    


  • Warum so kompliziert? Der letzte Buchstabe des Strings 'txt' ist einfach 'txt[strlen(txt)-1]'.


Anmelden zum Antworten