Witam was,
mam za zadanie stworzyć program w którym wpisujemy liczbę potem deklarujemy czy to liczba binarna czy dziesiętna (albo pierw deklarujemy potem wpisujemy obojętnie) następnie jeżeli to liczba binarna to Od razu zlicza liczbę jedynek a jeżeli to liczba dziesiętna to pierw zamienia na binarną i zlicza liczbę jedynek w jednym ciągu,
(i tak wiem że teraz to 2 rożne programy i to się kupy nie trzyma ale nie mam pomysłu jak to połączyć ze sobą dlatego proszę o pomoc) jakby ktoś był na tyle życzliwy i pomógł mi to złączyć byłbym bardzo wdzięczny ;)
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "Podaj liczbe: ";
long long int n;
cin>>n;
int k=64;
int a[k];
int i=0;
while(n!=0)
{
if(n%2==0) a[i]=0;
else a[i]=1;
n=n/2;
if(n!=0)i=i+1;
}
for (k=i; k>=0;k=k-1) cout<<a[k];
return 0;
}
// odzielenie tych 2 programow
int count(const std::string& number) {
int max = 0, counter = 0;
for(size_t i = 0; i < number.size() ; ++i) {
if(number[i] == '0') {
++counter;
}
else {
max = std::max(max, counter);
counter = 0;
}
}
return std::max(max, counter);
}
int jedynki()
{
string liczba;
cout << "Podaj Liczbe: ";
cin >> liczba;
cout << "Liczba jedynek w jednym ciagu to " << count(liczba) << endl;
return 0;
}