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 @@
#define veerg 2
#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)
{
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
double A; //argumendi x algväärtus A
double H; //Samm
......@@ -22,8 +46,13 @@ int main(void)
int i; //Järjenumber
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
*/
//Sisestus
double sisestusA()
{
double A;
int Kontroll; //Muutuja, mis näitab mitu sisendväärtust omistati kindlale muutujale
do
{
printf("Sisestage argumendi x algväärtus A \n");
......@@ -37,7 +66,13 @@ int main(void)
} while(Kontroll == 0); //Kontroll, kas sisestatud on reaalarv,
/*Kui ...=0, siis A-le ei ole määratud väärtust ehk
*(A ei ole double väärtus), kui ...=1, siis on.*/
return A;
}
double sisestusH()
{
double H;
int Kontroll;
do
{
printf("Sisestage samm H \n");
......@@ -48,8 +83,13 @@ int main(void)
scanf("%*s");
}
} 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
{
printf("Sisestage sammu koefitsent C (C>=1) \n");
......@@ -59,8 +99,14 @@ int main(void)
printf("Sisestatud väärtus ei sobi, sisestage reaalarv, mis on suurem või võrdne kui 1");
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
{
printf("Sisestage funktsiooni väärtuse y ülempiir YM \n");
......@@ -71,10 +117,16 @@ int main(void)
scanf("%*s");
}
} while(Kontroll == 0); //reaalarvu kontroll
//Töötlus
//x väärtuste leidmine
for(i=0;i<rida;i++) //funktsiooni väärtusi võib olla max 15.
return YM;
}
//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)
{
......@@ -91,7 +143,12 @@ int main(void)
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.
{
if(Vastus[0][i]<-2 || Vastus[0][i]>2) //Määramispiirkond (-2;2)
......@@ -104,9 +161,14 @@ int main(void)
Vastus[1][i]=(7*pow(x,2)+18*x-14)/(sqrt(4-pow(x,2)));
}
}
}
//Väljastus
void Väljastus(double YM, double Vastus[][rida], double puudub[])
{
printf("\n Tulemused on esitatud tabelis: \n");
int i;
for (i=0;i < rida;i++) //15 rida
{
if(Vastus[1][i]<YM)
......@@ -124,7 +186,6 @@ int main(void)
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