T
Taxotic
Gast
Hallo, ich versuche ein Programm zu schreiben, das einen Text einliest und dann die Anzahl der vorkommenden Buchstaben ausgibt.
Wenn ihr Lust habt, schauts euch doch mal an.
Mein Problem: Die Buchstaben und die Anzahl werden teilweise doppelt ausgegeben.
Bsp: Hallo
Ausgabe:
h=1
a=1
l=2
l=2
o=1
=1
Wenn ihr Lust habt, schauts euch doch mal an.
Mein Problem: Die Buchstaben und die Anzahl werden teilweise doppelt ausgegeben.
Bsp: Hallo
Ausgabe:
h=1
a=1
l=2
l=2
o=1
=1
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{ char speicher[20];
int anzahl[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int i=0;
int j=0;
printf("Bitte geben Sie ein Wort ein\n");
fgets(speicher, 20, stdin);
for (i=0;i<strlen(speicher);i++) //von Zeichenkette Anfang bis Ende
{ for (j=0;j<strlen(speicher);j++)
{
if (speicher[i]==speicher[j]) //vergleiche das Zeichen mit allen anderen, wenn es übereinstimmt zähle +1
anzahl[i]=anzahl[i]+1;
}
}
for (i=[COLOR="Red"]0[/COLOR];i<=strlen(speicher);i++) //danke an asdfman
if (speicher[i] != ' ' && anzahl[i]!=0)
printf("%c = %i \n",speicher[i],anzahl[i]);
return 0;
}
Zuletzt bearbeitet: