Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <time.h>
- #include <locale.h>
- #include <math.h>
- #include <malloc.h>
- #define STAŁA_ZASZUMIANIA 0.5
- void wspolczynniki(double *tab)
- {
- int i;
- double x;
- for (i = 0; i < 3; i++)
- {
- if (i == 0) printf("Podaj współczynnik a:\t");
- if (i == 1) printf("Podaj współczynnik b:\t");
- if (i == 2) printf("Podaj współczynnik c:\t");
- scanf("%lf", &x);
- tab[i] = x;
- }
- }
- void dziedzina(double *x)
- {
- double y;
- scanf("%lf", &y);
- *x = y;
- }
- void rozmiar_tablicy_wynikowej(int *x)
- {
- int y;
- printf("Podaj rozmiar tablicy wynikowej:\t");
- scanf("%d", &y);
- *x = y;
- }
- int main()
- {
- srand(time(NULL));
- setlocale(LC_ALL, "polish_poland");
- //==================== ZMIENNE ====================//
- //zmienna służąca do pętli
- int petla;
- //zmienne używane we wprowadzaniu dziedziny
- int dziedzinaS = 0;
- double dziedzinaG;
- double dziedzinaD;
- //tablice
- double tablica_wspolczynnikow[3];
- double **tablica_wynikow_x;
- double **tablica_wynikow_y;
- //tymczasowa zmienna do podmieniania wartości
- double t;
- //inne zmienne które nie wymagają podpisania
- int iloscprobek;
- double przedzial;
- double probkowanie;
- //==================== ZMIENNE ====================//
- //wprowadzanie wspolczynnikow
- wspolczynniki(tablica_wspolczynnikow);
- //wprowadzanie dziedziny
- while (dziedzinaS == 0)
- {
- printf("Podaj dolny zakres dziedziny:\t");
- dziedzina(&dziedzinaD);
- printf("Podaj górny zakres dziedziny:\t");
- dziedzina(&dziedzinaG);
- if (dziedzinaD > dziedzinaG)
- {
- printf("Górny zakres twojej dziedziny jest mniejszy od dolnego, podmieniam...");
- t = dziedzinaD;
- dziedzinaD = dziedzinaG;
- dziedzinaG = t;
- break;
- }
- if (dziedzinaG == dziedzinaD) printf("Twój górny zakres dziedziny jest taki sam jak dolny, zmień to!");
- if (dziedzinaG > dziedzinaD) break;
- }
- przedzial = dziedzinaG - dziedzinaD;
- //==================== TWORZENIE TABLICY WYNIKOWEJ ====================//
- rozmiar_tablicy_wynikowej(&iloscprobek);
- probkowanie = przedzial / iloscprobek; //jakie odstępy między kolejnymi argumentami po x
- //tworzenie tablicy wyników X
- tablica_wynikow_x = malloc(iloscprobek * sizeof(**tablica_wynikow_x));
- for (petla = 0; petla < iloscprobek; petla++) (*tablica_wynikow_x)[petla] = dziedzinaD + (petla*probkowanie);
- free(tablica_wynikow_x);
- //tworzenie tablicy wyników Y
- tablica_wynikow_y = malloc(iloscprobek * sizeof(**tablica_wynikow_y));
- for (petla = 0; petla < iloscprobek; petla++) *tablica_wynikow_y[petla] = tablica_wspolczynnikow[0] * cos(tablica_wspolczynnikow[1] * (*tablica_wynikow_x)[petla]) + tablica_wspolczynnikow[2];
- free(tablica_wynikow_y);
- printf("CZEMU TO SIĘ NIE WYŚWIETLA ?!?");
- //==================== TWORZENIE TABLICY WYNIKOWEJ ====================//
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement