/* Project CountBits1s Zählung aller gesetzten bits (bit=1) in einer Zeichenkette (string) Version 1.0 / 2002.04.01 Autor: pstrainer@gmx.net */ #include #include #include #include #define line_maxlen 100 // length of console input string #define char_max 8 // truncate strings to this length int count_1(char*); void _countbin(int*,char); void print_bin(char*); void _printbin(char); void main (void) { char mystring[line_maxlen]; int n1,sl; printf("Projekt CountBits (string)\n"); sl=1; while (sl>0) { printf("\nGeben sie einen Text ein: "); gets(mystring); sl=strlen(mystring); if(sl>char_max)sl=char_max; // cut down to char_max chars print_bin(mystring); // print binary string n1=count_1(mystring); // count the string printf("Anzahl(1)=%d\n",n1); } #ifdef _DEBUG printf("\nPress any key to continue "); _getch(); #endif } int count_1(char *s) { /* Funktion count_1 Zählung aller gesetzten bits (bit=1) in einer Zeichenkette (string) Version 1.0 / 2002.04.01 Autor: pstrainer@gmx.net > Vor Zählung wird jeder string auf char_max gekürzt, damit das Ergebnis mit dem Konsolen-Display (beschränkter Platz) überein- stimmt. Syntax: int count_1(char*); ... int n1; char mystring[...]; ... n1=count_1(mystring); Length: 13 lines of code */ int i,sl,count=0; sl=strlen(s); for (i=0;i> 1; } } void print_bin(char *s) { /* Ausdruck einer Zeichenkette (string) als Binärzahl Beschränkung auf 8 chars */ int i,sl; sl=strlen(s); if(sl>0) { // print characters for (i=0;i