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