anzahl zeichen im string



  • hallo,
    wie kann ich überprüfen, wie oft ein zeichen in
    einem eingelesenem string vorkommt ??

    so weit bin ich schonmal:

    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
    	char wort[20];
    	int laenge, i;
    
    	printf("Wort (max. 20 Zeichen): ");
    	gets(wort);
    

    DANKE



  • Naja auf jeden Fall musst du noch das Zeichen einlesen, auch per scanf(). Diesmal %c und char.

    Dann einfach mit einer Schleife den String durchlaufen (for-Schleife) und wenn wort[i] == zeichen dann erhöhst du irgendeinen counter (int liegt nahe)

    MfG SideWinder



  • jo habe es nun so weit

    #include <stdio.h>
    #include <string.h>
    
    int main()
    {
    	char wort[20], gesucht;
    	int laenge, i, anz;
    
    	anz = 0;
    
    	printf("Wort (max. 20 Zeichen): ");
    	gets(wort);
    
    	printf("Gesuchter Buchstabe: ");
    	scanf("%s", gesucht);
    
    	laenge = strlen(wort);
    	//laenge = laenge -1;
    
    	for (i=0; i < laenge; i++)
    
    		if(gesucht == wort[i])
    			anz++;
    
    		//printf("%d\n", &wort[i]);
    
    	return 0;
    }
    

    tut aber nicht ?? was ist falsch ??



  • char wort[20];
    char gesucht; // nur ein buchstabe, nicht 20
    
    ...
    
    scanf("%c",&gesucht); // ein buchstabe -> %c, gesucht ist eine normale variable, scanf verlangt aber nach einem zeiger -> also adresse mit & holen
    
    ...
    
    printf("%d",anz);
    

    MfG SideWinder


Anmelden zum Antworten