Czesc. Mam tutaj maly programik ktory powinien zbierac 8 liczb 0 lub 1 i przeprowadzac inkrementacje binarna. Problem w tym ze program po kompliacji wyrzuca blad numer 3, w funkcji readdata.
#include <iostream>
#include <vector>
using namespace std;
void inc(vector<bool> num, int elem){
if (num[elem]==false){
num[elem]=!num[elem];
return;
}
if (num[elem]==true){
num[elem]=!num[elem];
inc(num, elem+1);
return;
}
}
vector<bool> readdata(){
char c;
vector<bool> ans;
for (int i = 0;i<8;++i){
cin >> c;
switch (c){
case '1':
ans[i]=true;
case '0':
ans[i]=false;
default:
ans[i]=false;
}
}
return ans;
}
int main(){
vector<bool> data = readdata();
inc(data, 0);
for (int i = 0;i<8;++i)
cout << data[i] << ' ';
char ch;
cin >> ch;
return 0;
}
Wie ktos od czego to zalezy?