Witam, muszę napisać program, który zawiera:
1. Funkcję generującą przebieg funkcji matematycznej (będzie podany dla każdego indywidualnie). Jako parametry wejściowe funkcji wchodzą: tablica współczynników funkcji, dwa parametry określające dziedzinę, tablica wynikowa oraz wielkość tablicy wynikowej.
2. Funkcję wczytującą z konsoli współczynniki funkcji (jako tablicę);
3. Funkcję wczytującą zakres dziedziny;
Punktów jest więcej (projekt na zajęcia na studiach) ale na razie zajmuję się tymi trzema. Nie jestem dobry w programowaniu i mam problemy z poprawnym napisaniem tego kodu. Wypociłem coś takiego i nie mam pojęcia jak ogarnąć punkt pierwszy. Jak się za to w ogóle zabrać. Będę wdzięczny za wszystkie wskazówki, rady i wytknięcia błędów.
P.S. Poza tym nie czuje jeszcze wskaźników, tego jak działają itp. niby w teorii wiem o co chodzi ale jak przychodzi co do czego to wszystko mi się miesza
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void parametry(float wspolczynniki[])
{
float parA, parB, parC, parD;
printf("Podaj parametr A: ");
scanf("%f", &parA); //pobranie parametrow od uzytkownika
printf("Podaj parametr B (nie 0): ");
scanf("%f", &parB);
printf("Podaj parametr C: ");
scanf("%f", &parC);
printf("Podaj parametr D (nie 0): ");
scanf("%f", &parD);
*(wspolczynniki+1) = parA; //przypisanie parametrow do odpowiednich miejsc w tablicy
*(wspolczynniki+2) = parB;
*(wspolczynniki+3) = parC;
*(wspolczynniki+4) = parD;
}
void dziedzina(float *dMin, float *dMax) //X ma nalezec do (-1 , 1)
{
printf("Podaj dolna granice dziedziny: ");
scanf("%f", dMin);
printf("Podaj gorna granice dziedziny: ");
scanf("%f", dMax);
}
void generator(float wspolczynniki[], float *dMin, float *dMax, float wyniki[], int rozmiar)
{
float tablica_par[4]; //tablica_par to nazwa tablicy w ktorej sa parametry A B C D
float funkcja;
float x;
int i=1;
for(x=-1; x<=1; x=x+0.004)
{
funkcja = (*(tablica_par+1) * sin(x / *(tablica_par+2))) * cos((sqrt( *(tablica_par+3))/ *(tablica_par+4)) * x);
wyniki[1+i] = funkcja;
i++;
printf("%f\n", funkcja);
}
}
int main()
{
float tablica_par[4]; //tablica_par to nazwa tablicy w ktorej sa parametry A B C D
parametry(tablica_par); //wywołanie funkcji wprowadzania parametrow
/*printf("%f\n", *(tablica_par+1));
printf("%f\n", *(tablica_par+2));
printf("%f\n", *(tablica_par+3));
printf("%f\n", *(tablica_par+4)); //sprawdzenie czy w tablicy zapisały sie parametry*/
float dMin;
float dMax;
dziedzina(&dMin, &dMax); //wywołanie funkcji określania granic x
//printf("dMin=%f\t dMax=%f\n", dMin, dMax);
generator(tablica_par, &dMin, &dMax,0, 500); //nie mam pojecia jak wywołać tą funkcje
return 0;
}