Commit 592f1383 by Jürgen Hein

Kood funktsioonideks jagatud Kodutoo1.c

parent 1ae9abef
Showing with 74 additions and 13 deletions
/*Antud on funktsioon ja teatud algväärtused. /*Antud on funktsioon ja teatud algväärtused.
...@@ -9,8 +9,32 @@ ...@@ -9,8 +9,32 @@
#define veerg 2 #define veerg 2
#define rida 15 #define rida 15
//Prototüübid
double sisestusA();
double sisestusH();
double sisestusC();
double sisestusYM();
void XVäärtused(double, double, double, double, double[][15]);
void YVäärtused(double[][15], double[]);
void Väljastus(double, double[][15], double[]);
int main(void) int main(void)
{ {
double A = sisestusA(); //argumendi x algväärtus A
double H = sisestusH(); //Samm
double C = sisestusC(); //Sammu koefitsent
double YM = sisestusYM(); //Väärtuste ülempiir
double Vastus[veerg][rida]; //Tabeli veergude ja ridade massiiv
double puudub[rida]; //Massiiv, et näidata x väärtusi, mille korral y väärtus puudub.
XVäärtused(A, H, C, YM, Vastus);
YVäärtused(Vastus, puudub);
Väljastus(YM, Vastus, puudub);
return 0;
}
/*
//Algväärtustamine //Algväärtustamine
double A; //argumendi x algväärtus A double A; //argumendi x algväärtus A
double H; //Samm double H; //Samm
...@@ -22,8 +46,13 @@ int main(void) ...@@ -22,8 +46,13 @@ int main(void)
int i; //Järjenumber int i; //Järjenumber
double puudub[rida]; //Massiiv, et näidata x väärtusi, mille korral y väärtus puudub. double puudub[rida]; //Massiiv, et näidata x väärtusi, mille korral y väärtus puudub.
int Kontroll; //Muutuja, mis näitab mitu sisendväärtust omistati kindlale muutujale int Kontroll; //Muutuja, mis näitab mitu sisendväärtust omistati kindlale muutujale
*/
//Sisestus //Sisestus
double sisestusA()
{
double A;
int Kontroll; //Muutuja, mis näitab mitu sisendväärtust omistati kindlale muutujale
do do
{ {
printf("Sisestage argumendi x algväärtus A \n"); printf("Sisestage argumendi x algväärtus A \n");
...@@ -37,7 +66,13 @@ int main(void) ...@@ -37,7 +66,13 @@ int main(void)
} while(Kontroll == 0); //Kontroll, kas sisestatud on reaalarv, } while(Kontroll == 0); //Kontroll, kas sisestatud on reaalarv,
/*Kui ...=0, siis A-le ei ole määratud väärtust ehk /*Kui ...=0, siis A-le ei ole määratud väärtust ehk
*(A ei ole double väärtus), kui ...=1, siis on.*/ *(A ei ole double väärtus), kui ...=1, siis on.*/
return A;
}
double sisestusH()
{
double H;
int Kontroll;
do do
{ {
printf("Sisestage samm H \n"); printf("Sisestage samm H \n");
...@@ -48,8 +83,13 @@ int main(void) ...@@ -48,8 +83,13 @@ int main(void)
scanf("%*s"); scanf("%*s");
} }
} while(Kontroll == 0 || H<=0); //H ei saa olla väiksem kui 0. } while(Kontroll == 0 || H<=0); //H ei saa olla väiksem kui 0.
//H peab olema reaalarv. //H peab olema reaalarv.
return H;
}
double sisestusC()
{
double C;
int Kontroll;
do do
{ {
printf("Sisestage sammu koefitsent C (C>=1) \n"); printf("Sisestage sammu koefitsent C (C>=1) \n");
...@@ -59,8 +99,14 @@ int main(void) ...@@ -59,8 +99,14 @@ int main(void)
printf("Sisestatud väärtus ei sobi, sisestage reaalarv, mis on suurem või võrdne kui 1"); printf("Sisestatud väärtus ei sobi, sisestage reaalarv, mis on suurem või võrdne kui 1");
scanf("%*s"); scanf("%*s");
} }
} while(C<0 || Kontroll == 0); //C<0 ja reaalarv kontroll } while(C<0 || Kontroll == 0); //C<0 ja reaalarv kontroll
return C;
}
double sisestusYM()
{
double YM;
int Kontroll;
do do
{ {
printf("Sisestage funktsiooni väärtuse y ülempiir YM \n"); printf("Sisestage funktsiooni väärtuse y ülempiir YM \n");
...@@ -71,10 +117,16 @@ int main(void) ...@@ -71,10 +117,16 @@ int main(void)
scanf("%*s"); scanf("%*s");
} }
} while(Kontroll == 0); //reaalarvu kontroll } while(Kontroll == 0); //reaalarvu kontroll
return YM;
//Töötlus }
//x väärtuste leidmine
for(i=0;i<rida;i++) //funktsiooni väärtusi võib olla max 15. //Töötlus
//x väärtuste leidmine
void XVäärtused(double A, double H, double C, double YM, double Vastus[][rida])
{
int i; //Järjenumber
double XSumma; //Ajutine summa, et leida x väärtuste rea liikmeid.
for(i = 0;i < rida;i++) //funktsiooni väärtusi võib olla max 15.
{ {
switch (i) switch (i)
{ {
...@@ -91,7 +143,12 @@ int main(void) ...@@ -91,7 +143,12 @@ int main(void)
Vastus[0][i]=XSumma; Vastus[0][i]=XSumma;
} }
} }
//y väärtuste leidmine }
//y väärtuste leidmine
void YVäärtused(double Vastus[][rida], double puudub[])
{
int i;
double x; //Ajutine väärtus x väärtuste leidmiseks
for(i=0;i<rida;i++) //funktsiooni väärtusi võib olla max 15. for(i=0;i<rida;i++) //funktsiooni väärtusi võib olla max 15.
{ {
if(Vastus[0][i]<-2 || Vastus[0][i]>2) //Määramispiirkond (-2;2) if(Vastus[0][i]<-2 || Vastus[0][i]>2) //Määramispiirkond (-2;2)
...@@ -104,9 +161,14 @@ int main(void) ...@@ -104,9 +161,14 @@ int main(void)
Vastus[1][i]=(7*pow(x,2)+18*x-14)/(sqrt(4-pow(x,2))); Vastus[1][i]=(7*pow(x,2)+18*x-14)/(sqrt(4-pow(x,2)));
} }
} }
}
//Väljastus //Väljastus
void Väljastus(double YM, double Vastus[][rida], double puudub[])
{
printf("\n Tulemused on esitatud tabelis: \n"); printf("\n Tulemused on esitatud tabelis: \n");
int i;
for (i=0;i < rida;i++) //15 rida for (i=0;i < rida;i++) //15 rida
{ {
if(Vastus[1][i]<YM) if(Vastus[1][i]<YM)
...@@ -124,7 +186,6 @@ int main(void) ...@@ -124,7 +186,6 @@ int main(void)
i=rida; i=rida;
} }
} }
}
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment