Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int size=1;
- double *stack;
- void push (double a) {
- stack = (double*) realloc (stack, size*sizeof(double));
- }
- double convDouble(char *a) {
- int j=0, predPiko=0, stMest=0;
- double valDouble, currDouble;
- while(a[j] != '\0') {
- if (a[j] == '.') {
- predPiko = 1;
- stMest=10;
- } else {
- if (predPiko==0) {
- currDouble = a[j] - '0';
- if (stMest == 0 && currDouble == 0) {
- predPiko=1;
- } else if (stMest == 0) {
- valDouble += currDouble;
- stMest++;
- } else {
- valDouble *= 10;
- valDouble += currDouble;
- stMest++;
- }
- } else {
- currDouble = a[j] - '0';
- valDouble +=(double)(currDouble/stMest);
- stMest *= 10;
- //printf("%f ", currDouble);
- }
- }
- j++;
- }
- return valDouble;
- }
- int main() {
- stack = (double*) malloc (size*sizeof(double));
- char *ukaz = (char*) malloc (20*sizeof(char));
- int i;
- double num;
- for (i=0; i<10; i++) {
- scanf("%s", ukaz);
- num = convDouble(ukaz);
- printf("%.10f\n",num);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement