Write a program that reads a string consisting of a positive integer or a positive decimal number and converts the number to the numeric format. If the string consists of a decimal number, the program must use a stack to convert the decimal number to the numeric format.
1 answer:
Answer:
#include <iostream>
#include <string>
#include <stack>
#include <math.h>
using namespace std;
int main() {
string s;
double n=0;
int position=0;
stack<int> wholeNumbers;
cout<<"Enter a decimal number:";
cin>>s;
string::iterator counter = s.begin();
while(*counter!='.' && counter!=s.end()){
wholeNumbers.push(*counter-48);
counter++;
position=position+1;
}
for(int i=0;i<position;i++){
n=n+(wholeNumbers.top()*pow(10,i));
wholeNumbers.pop();
}
position=-1;
if(counter!=s.end()){
counter++;
}
while(counter!=s.end()){
n=n+((*counter-48)*pow(10,position));
position=position-1;
counter++;
}
cout<<n;
}
Explanation:
Inside the while loop, push the push a number to the wholeNumbers stack by subtracting it with 48. Increment the counter and position variable by 1 inside the while loop. Count the number of digit, push each digit to top of stack and find the end of the number, Run a for loop up to the value of position variable and pop a value from the wholeNumbers stack.
You might be interested in
I doub between: <span> C) A series of 4 full size, but individual tweets (with the tweet copy appearing above the first image of the series) D) A collage format, with full size images</span>
Answer:
false
Explanation:
plants do that, they absorb carbon dioxide and then they create oxygen, then humans breathe the oxygen and makes CB
These are files called cookies. =)
Answer:
A
Explanation:
A hacker searching for open ports denotes vulnerability of computer (to hacking).
Cheers