/*
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               ( geocities.com/pstrainer/entwicklung/c)                   ( geocities.com/pstrainer/entwicklung)                   ( geocities.com/pstrainer)