Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.55 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <ctype.h>
  5.  
  6. double Suskaiciuoti(char funcija[80], double x, int len);
  7. char * doubleIChar(double x);
  8. char * IssatytiFormata(char funcija[80], int len);
  9. char * IstatytiSkaiciu(char funcija[80], int len);
  10.  
  11. int main()
  12. {
  13.     printf("Iveskite funcija: ");
  14.     char funcija[80];
  15.     for (int p = 0; p < 80; p++)
  16.     {
  17.         funcija[p] = '!';
  18.     }
  19.     switch (scanf("%80[^\n]", funcija)) //Skaityti pirmus 80 simbolius arba iki \n <- enter
  20.     {
  21.     case 1: break;
  22.     case 0: funcija[0] = 0; break;
  23.     }
  24.     double Reiksmes[2][81];//X Y
  25.     double i = 79;
  26.     char ci;
  27.     int len = 0;
  28.     while (0 <= i)
  29.     {
  30.         if (funcija[(int)i] != '!')
  31.         {
  32.             len = (int)i;
  33.             i = -4;
  34.             break;
  35.         }
  36.         i--;
  37.     }
  38.     char *taisytaLyktis;
  39.     taisytaLyktis = IssatytiFormata(funcija, len);
  40.     char GutLyg[50];
  41.     printf("Funcija: ");
  42.     for (int b = 0; b < 50; b++) {
  43.         if (b < len) {
  44.             ci = taisytaLyktis[b];
  45.             GutLyg[b] = ci;
  46.             printf("%c", ci);
  47.         }
  48.         else
  49.         {
  50.             GutLyg[b] = (char)32;
  51.         }
  52.     }
  53.     printf("\n");
  54.     len = 0;
  55.     for (int i = 0; i < 80; i++){
  56.         if (taisytaLyktis[i] != 32) len++;
  57.         else break;}
  58.     int pos = 0;
  59.     printf("Istatyti 1 i %s\ngaunas:%s", taisytaLyktis, IstatytiSkaiciu(taisytaLyktis, len));
  60.     while (i <= 4)
  61.     {
  62.         //Reiksmes[0][pos] = SuskaiciuotiY(funcija, i, len);
  63.         Reiksmes[1][pos] = i; pos++;i += 0.1;
  64.     }
  65.     //printf("%s\n", p);
  66.     //printf("Kai X = 1.2, tai Y = %f\n", SuskaiciuotiY(funcija ,1.2, len));
  67.     return 0;
  68. }
  69.  
  70. char * doubleIChar(double x)
  71. {
  72.     static char buffer[10];
  73.     int pos = 0;
  74.     if (x > 0) {
  75.         if (x < 1) { x *= 10; pos++; buffer[0] = '0'; }
  76.         while (floor(x) != 0)
  77.         {
  78.             if (pos == 1) { buffer[pos] = '.'; pos++; continue; }
  79.             buffer[pos] = '0' + floorf(x);
  80.             x = x - floor(x);
  81.             x *= 10;
  82.             pos++;
  83.             if (x >= 9.99) break;
  84.         }
  85.         return buffer;
  86.     }
  87.     buffer[0] = '-';
  88.     pos++;
  89.     if (x < 1) { x *= 10; pos++; buffer[1] = '0'; }
  90.     while ((int)(x) != 0)
  91.     {
  92.         if (pos == 2) { buffer[pos] = '.'; pos++; continue; }
  93.         buffer[pos] = '0' + (int)(x) * -1;
  94.         x = x - (int)(x);
  95.         x *= 10;
  96.         pos++;
  97.         if (x >= 9.99) break;
  98.     }
  99.     return buffer;
  100. }
  101.  
  102. char * IssatytiFormata(char funcija[80], int len)
  103. {
  104.     char ats[80]; int i = 0, b = 0;
  105.     for (int i = 0; i < 80; i++) ats[i] = (char)32;
  106.     while (i < len){
  107.         if (funcija[i] < -10 || funcija[i] == 32) { i++;   continue; }
  108.         ats[b] = funcija[i]; b++; i++;
  109.     } return ats;
  110. }
  111. //Padaryt
  112. double Suskaiciuoti(char funcija[80], double x, int len)
  113. {
  114.     double ats = 0;
  115.     return ats;
  116. }
  117.  
  118. char * IstatytiSkaiciu(char funcija[80], int len)
  119. {
  120.     char ats[80];
  121.     return ats;
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement