Tutaj kod:
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int main()
{
string binary = "111000", tmpStr;
int tmp, oneCount, zeroCount;
for(int i = 0; i<binary.length(); i++)
{
tmpStr = binary[i];
tmp = atoi(tmpStr.c_str());
if(tmp==1){cout<<1; oneCount++;}
else{cout<<0; zeroCount++;}
// cout<<oneCount<<endl;;
// cout<<zeroCount;
}
cout<<"Ilosc zer w ciagu: "<< zeroCount<<endl;
cout <<"Ilosc jedynek w ciagu: "<<oneCount<<endl;
return 0;
}
A to wynik:
111000 (<- to tu bylo sklejone ale tu nie o to chodzi ->) Ilosc zer w ciagu: 1
Ilosc jedynek w ciagu: 1967591781
Dlaczego tak?
###
Zmienne nie były zainicjowane (?). Nie miały wartości, a ja je chciałem powiększać o jeden. Wystarczyło zmienić z int tmp, zeroCount, oneCount;
na int tmp, zeroCount=0, oneCount=0;