#include <iostream>
#include <cstdlib>
#define MAX 99
int asctoint(char*);
int pow(int,int);
using namespace std;
int main(){
char ghost[MAX];
int alter=0;
int p=0;
cin >> ghost;
alter=asctoint(ghost);
cout << alter;
cin >> p;
return 0;
}
int asctoint(char* a){
int grab[MAX];
bool flip=false;
int i=0,j=0;
int num=0;
int toast=0;
if(a[0]=='-'){
flip=true;
i++;
}
for(i;a[i];i++,num++){
if(a[i]>47&&a[i]<58)grab[i]=a[i]-48;
else return 0;
}
if(flip){
j++;
}
if(num>10)return 0;
for(j;num>0;j++,num--){
toast+=pow(grab[j],num);
}
if(flip)toast*=-1;
return toast;
}
int pow(int dig,int exp){
int i=0;
if(exp>1){
for(i=0;i<exp-1;i++){
dig*=10;
}
}
return dig;
}
No comments:
Post a Comment