int pktb(string liczba){
int dz = 0;
for(int i=0;i<liczba.size();i++){
if(liczba[i]=='0') dz+=0*pow(8,i);
else if(liczba[i]=='1') dz+=1*pow(8,i);
else if(liczba[i]=='2') dz+=2*pow(8,i);
else if(liczba[i]=='3') dz+=3*pow(8,i);
else if(liczba[i]=='4') dz+=4*pow(8,i);
else if(liczba[i]=='5') dz+=5*pow(8,i);
else if(liczba[i]=='6') dz+=6*pow(8,i);
else dz+=7*pow(8,i);
}
string a = string to_string(int dz);
if(a[0]==a[a.size()-1])return 1;
else return 0;
}
Wyczytałem właśnie na forum o metodzie to_string(), podejrzewam że tutaj gdzieś popełniłem błąd.
Funkcja dostaje liczbę jako string w systemie (8), na początku zamieniam na system dziesiętny już jako int, a potem potrzebuje porównać czy pierwsza i ostatnia cyfra jest taka sama, więc ponownie , już przekonwertowaną na system dziesiętny liczbę(int) zamieniam na stringa i porównuje pierwsza z ostatnią.
EDIT: podpięte biblioteki:
#include <iostream>
#include <fstream>
#include <string.h>
#include <math.h>
#include <string>