Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.78 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define KOLUMNY 2
  4. int main()
  5. {
  6.     double wczytajy=0;                       // wczytuje wartosci y z klawiatury dla danych x
  7.     double start=0;                          //czas poczatkowy, pierwszy X
  8.     double START=0;                          // to samo co start, ale uzyte w innej czesci programu
  9.     double koniec=0;                         //czas koncowy, ostatni X
  10.     double okres=0;                          // okres zmiany czasu, co ile zmienia się X
  11.     double suma=0;                           // liczy sume ostatnich N y-grekow
  12.     double sredn=0;                          // liczy srednia jako suma/N
  13.    
  14.     int N=0;                                 //wspolczynnik do liczenia sredniej ruchomej, ile Y usredniamy
  15.     int WIERSZE=0;                           // ilosc wierszy potrzebnych do stworzenia tabeli x,y
  16.                
  17.     int wiersze=0;                           //jest to licznik uzywany w petli do liczenia wierszy tabeli tab
  18.     int kolumny=0;                           // licznik do liczenia kolumn w tab
  19.                            
  20.     int licznik=0;                           // licznik uzyty w petli usredniajacej, yzycie go tworzy rowniez tablice srednia
  21.     int usredniacz=0;                        // licznik uzyty w petli usredniajacej
  22.     int x;
  23.    
  24.                 // przyrownanie rozmiar=WIERSZE umozliwia tworzenie tablicy statycznej, bo ilosc wierszy zmienia sie w kazdym programie  
  25.            //tablica uzywana dla zapisywania x,y po usrednieniu
  26.    
  27.    
  28.     char ch;
  29.    
  30.    
  31.  
  32.    
  33.  
  34.    
  35.   /*
  36.         FILE * fp;
  37.         char nazwaplik[50]; //przechowuje nazwe pliku
  38.         printf("Podaj nazwe pliku:");
  39.         scanf("%s", nazwaplik);
  40.        
  41.         fp = fopen(nazwaplik,"r+b"); //otwiera plik do odczytu
  42.         if (fp==NULL)   //proba nieudana
  43.         {
  44.             printf("Blad przy probie otwarcia pliku.");
  45.             exit(1); //wyjscie
  46.         }
  47.        
  48.        // while((ch=getc(fp)) !=EOF)
  49.        while (fscanf(fp, "%c=%d;", &ch,&x) != EOF)
  50.        
  51.         {
  52.         printf("%c\n%d\n",ch,x);
  53.        
  54.         //}
  55.         //fclose(fp);    // zamyka plik              */  
  56.        
  57.        
  58.        
  59.        
  60.        
  61.        
  62.     printf("\nPodaj:\n\tT(poczatek okresu)\n\tTk(koniec okresu)\n\tC(stala zmiany czasu)\n");
  63.     printf("T=",start);
  64.     scanf("%lf",&start);
  65.     printf("Tk=",koniec);
  66.     scanf("%lf",&koniec);
  67.     printf("C=",okres);
  68.     scanf("%lf",&okres);
  69.    
  70.  
  71.  
  72.    
  73.     START=start;
  74.    
  75.     WIERSZE=(int)(((koniec-start)/okres)+1);
  76.     printf("\nWIERSZE=%d\n\n",WIERSZE);
  77.    
  78.     const int rozmiar = WIERSZE;
  79.     double tab[rozmiar][KOLUMNY];            //tablica uzywana dla zapisywania x,y bez usredniania
  80.    
  81.  
  82.     // tworzymy tabele tab//wartosci pierwotne x i y
  83.     printf("Danebez wygladzania. Wprowadz y dla kazdego x. y ma byc w postaci np.0.00:\n");
  84.     printf(" \tx\t   y\n");
  85.    
  86.    
  87.    
  88.  
  89.         for(START, wiersze=0;wiersze<rozmiar && START<=(koniec+(okres/10));wiersze++, START+=okres)
  90.     {
  91.             printf("\t%.2lf",START);
  92.             tab[wiersze][0]=START;
  93.             printf("\t   ");
  94.             scanf(" %lf",&tab[wiersze][1]);
  95.             printf("\n");  
  96.     }
  97.    
  98. //  printf("%.2lf", tab[0][0]);
  99.  
  100.  
  101. printf("\nPodaj liczb usredniania N=");
  102. scanf("%d",&N);
  103.  
  104. double srednia[rozmiar][KOLUMNY];  
  105.  
  106. for(licznik=0;licznik<rozmiar-N+1;licznik++)   
  107.  
  108.   {
  109.     suma=0;
  110.     sredn=0;
  111.    
  112.     for(usredniacz=0+licznik;usredniacz<N+licznik;usredniacz++)
  113.     {
  114.     suma+=tab[usredniacz][0];
  115.     sredn=suma/N;
  116.  
  117.     }
  118.    
  119.     srednia[licznik][0]=tab[licznik+N-1][0];
  120.     srednia[licznik][1]=sredn;
  121.    
  122.     //printf("%.2lf\n",sredn);
  123.        
  124.   }
  125.  
  126.  
  127.  
  128.   printf("\n\n");
  129.  
  130. for(licznik=0;licznik<rozmiar-N+1;licznik++)   
  131.  {
  132.    
  133.     printf("\n\n");
  134.    
  135.     for(usredniacz=0+licznik;usredniacz<N+licznik;usredniacz++)
  136.    
  137.     printf("%.2lf\t",srednia[licznik][0]);
  138.    
  139.     printf("%.2lf\t", srednia[licznik][1]);
  140.  
  141.  
  142.   }
  143.    
  144.    
  145.    
  146.    
  147.    
  148.    
  149.    
  150.    
  151.    
  152.    
  153.    
  154.    
  155.    
  156.    
  157.    
  158.    
  159.    
  160.    
  161.    
  162.     return 0;
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement