Advertisement
Hadix

mainn

Nov 7th, 2018
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.07 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <math.h>
  6. #include <time.h>
  7. #include <locale.h>
  8.  
  9.  
  10. #define SIZE 2
  11.  
  12. int *wczytywanieWspolczynnikow();
  13. int *wczytywanieZakresuDziedziny();
  14. float *generaowaniePrzebiegu();
  15. int wczytanieRozmiaruTablicyWyinikowej();
  16. void zapisywanieDoPliku();
  17. float *wczytywanieszumu();
  18. void odczytZpliku();
  19. void filtry();
  20.  
  21. int main()
  22.  
  23. {
  24.     setlocale(LC_ALL, "polish_poland");
  25.     float *taberiusz;
  26.     //float *tab3;                              //tablica pobierajaca dane
  27.     float *tab2;
  28.     float *mediany;
  29.     float *zaszumiona;
  30.     float *srednie;
  31.     int tab[SIZE];                            //rozmiar tablicy zawierajacej wspolczynniki A i B
  32.     int tab1[SIZE];                          //rozmiar tablicy zawierajacej elementy okreslajace zakres dziedziny
  33.     char wybor[10], ponownie[10];
  34.     int a = 1;
  35.  
  36.     int *ab = wczytywanieWspolczynnikow(tab);
  37.     int *dz = wczytywanieZakresuDziedziny(tab1);
  38.     int roz = wczytanieRozmiaruTablicyWyinikowej();
  39.     zaszumiona = malloc(roz * sizeof(float));
  40.     float *gen1 = generaowaniePrzebiegu(ab, *dz, *(dz + 1), zaszumiona, roz);
  41.     mediany = malloc((roz) * sizeof(float));
  42.     srednie = malloc((roz) * sizeof(float));
  43.     //mediany[0] = 1;
  44.     //srednie[0] = 1;
  45.     puts("Wpisz:\nq - Zmiana wspolczynnikow\ne - Zmiana ilosci wynikow\na - Generuj przebieg\nw - Wczytanie szumu\nr - Filtry\nz - Zapis do pliku\no - Odczyt z pliku\nc - Czyszczenie ekranu\nk - Zamknij");
  46.     while (a == 1) {
  47.         do {
  48.             scanf("%s", &wybor);
  49.         } while (wybor[0] != 'q' && wybor[0] != 'k' && wybor[0] != 'e' && wybor[0] != 'w' && wybor[0] != 'a' && wybor[0] != 'r'&& wybor[0] != 'z'&& wybor[0] != 'o' && wybor[0] != 'c');
  50.         switch (wybor[0]) {
  51.         case 'q':
  52.             ab = wczytywanieWspolczynnikow(tab);
  53.             break;
  54.         case 'a':
  55.             taberiusz = calloc(roz, roz * sizeof(float));
  56.             float *gen = generaowaniePrzebiegu(ab, *dz, *(dz + 1), taberiusz, roz);
  57.             for (int g = 0; g < roz; g++)
  58.                 printf("%.3f\n", *(gen + g));
  59.             break;
  60.         case 'w':
  61.             tab2 = malloc(roz * sizeof(float));
  62.             float *val = generaowaniePrzebiegu(ab, *dz, *(dz + 1), tab2, roz);
  63.             zaszumiona = malloc(roz * sizeof(float));
  64.             for (int i = 0; i < roz; i++)
  65.                 *(zaszumiona + i) = *(tab2 + i);
  66.             wczytywanieszumu(zaszumiona, roz);
  67.             for (int j = 0; j < roz; j++)
  68.                 printf("%.3f \n", zaszumiona[j]);
  69.             break;
  70.         case 'r':
  71.             mediany = malloc((roz) * sizeof(float));
  72.             srednie = malloc((roz) * sizeof(float));
  73.             wczytywanieszumu(zaszumiona, roz);
  74.             filtry(zaszumiona, roz, mediany, srednie);
  75.             break;
  76.         case 'z':
  77.             zapisywanieDoPliku(zaszumiona, roz, mediany, srednie);
  78.             break;
  79.         case 'e':
  80.             roz = wczytanieRozmiaruTablicyWyinikowej();   //wywołanie funkcji wczytujace rozmiar tablicy wynikowej
  81.             break;
  82.         case 'o':
  83.             odczytZpliku();
  84.             break;
  85.         case 'k':
  86.             a = 0;
  87.             break;
  88.         case 'c':
  89.             system("cls");
  90.             break;
  91.         }
  92.         if (a == 1)
  93.             puts("Wpisz:\nq - Zmiana wspolczynnikow\ne - Zmiana ilosci wynikow\na - Generuj przebieg\nw - Wczytanie szumu\nr - Filtry\nz - Zapis do pliku\no - Odczyt z pliku\nc - Czyszczenie ekranu\nk - Zamknij");
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement