Commit 6dd5505a by Jürgen Hein

Esialgne töötav versioon, sisestus veel puudulik Kodutoo1.c

parent a7fe571f
Showing with 74 additions and 39 deletions
/*Antud on funktsioon ja teatud algväärtused.
/*Antud on funktsioon ja teatud algväärtused.
......@@ -5,85 +5,120 @@
#include <stdio.h>
#include <math.h>
#define veerg 2
#define rida 15
int main(void)
{
double A; //argumendi x algväärtus A
double H; //Samm
double C; //Sammu koefitsent
double YM; //Väärtuste ülempiir
int
double Vastus[2][15]; //Tabeli veergude ja ridade arv
double XSumma;
double Vastus[veerg][rida]; //Tabeli veergude ja ridade massiiv
double XSumma; //Ajutine summa, et leida x väärtuste rea liikmeid.
double x; //Ajutine väärtus x väärtuste leidmiseks
//Sisestus
int i; //Järjenumber
double puudub[rida]; //Massiiv, et näidata x väärtusi, mille korral y väärtus puudub.
//Sisestus
do
{
printf("Sisestage argumendi x algväärtus A");
scanf("%lf", &A);
} while(3>N || N>15);
printf("Sisestage argumendi x algväärtus A \n");
if(scanf("%lf", &A) != 1)
{
printf("Sisestatud väärtus ei sobi, sisestage reaalarv.");
scanf("%*s"); //Kui väärtus pole reaalarv, ei anta A-le väärtust.
} //Ehk sisestatud väärtust ei arvestata. Vastasel juhul loop ei lõpeks.
} while(scanf("%lf", &A) != 1); //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.*/
do
{
printf("Samm H");
scanf("%lf", &H);
} while(H<1); //H ei saa olla väiksem kui 0.
printf("Sisestage samm H \n");
if(scanf("%lf", &H) != 1 || H<=0 )
{
printf("Sisestatud väärtus ei sobi, sisestage reaalarv, mis on suurem kui 0");
scanf("%*s", &H);
}
} while(scanf("%lf", &H) != 1 || H<=0); //H ei saa olla väiksem kui 0.
//H peab olema reaalarv.
do
{
printf("Sisestage sammu koefitsent C (C>=1)");
scanf("%lf", &C);
} while(C>=1);
printf("Sisestage sammu koefitsent C (C>=1) \n");
if(scanf("%lf", &C) != 1 || C<0)
{
printf("Sisestatud väärtus ei sobi, sisestage reaalarv.");
scanf("%*s", &C);
}
} while(C<0 || scanf("%lf", &C) != 1); //C<0 ja reaalarv kontroll
do
{
printf("Sisestage funktsiooni väärtuse y ülempiir YM ");
scanf("%lf", &YM);
} while(); //?
printf("Sisestage funktsiooni väärtuse y ülempiir YM \n");
if(scanf("%lf", &YM) != 1)
{
printf("Sisestatud väärtus ei sobi, sisestage reaalarv.");
scanf("%*s", &YM);
}
} while(scanf("%lf", &YM) != 1); //reaalarvu kontroll
//Töötlus
for(i=0;i<15;i++) //funktsiooni väärtusi võib olla max 15.
//x väärtuste leidmine
for(i=0;i<rida;i++) //funktsiooni väärtusi võib olla max 15.
{
if(i=0);
switch (i)
{
case 0:
Vastus[0][i]=A;
XSumma=Vastus[0][i]; //Jada 1. liikme A leidmine
break;
case 1:
XSumma=XSumma+H;
Vastus[0][i]=A+H; //Jada 2. liikme A+H leidmine
break;
default:
XSumma=XSumma+(H*(pow(C,(i-1)))); //Jada n. liige A+H+CH+C^(i-1)*H+....
Vastus[0][i]=XSumma;
}
if(i=1);
{
Vastus[0][i]=A+H;
}
XSumma=A+H
XSumma=XSumma+(H*C^(i-1))
Vastus[0][i]=XSumma
}
for(i=0;i<15;i++) //funktsiooni väärtusi võib olla max 15.
//y väärtuste leidmine
for(i=0;i<rida;i++) //funktsiooni väärtusi võib olla max 15.
{
if(-2<Vastus[0][i] || Vastus[0][i]<2)
if(Vastus[0][i]<-2 || Vastus[0][i]>2) //Määramispiirkond (-2;2)
{
Vastus[1][i]='Puudub';
Vastus[1][i]=puudub[i];
}
else
{
x=Vastus[0][i];
Vastus[1][i]=(7*x^2+18*x-14)/(sqrt(4-x^2))
Vastus[1][i]=(7*pow(x,2)+18*x-14)/(sqrt(4-pow(x,2)));
}
}
//Väljastus
printf("\n Tulemused on esitatud tabelis: \n");
i = 0;
while (i < 2) { //2 veergu
j = 0;
while (j < 15) {
printf("%lf ", Vastus[i][j]);
j++;
for (i=0;i < rida;i++) //15 rida
{
if(Vastus[1][i]<YM)
{
if (Vastus[1][i] == puudub[i])
{
printf("%lf, Puudub ", Vastus[0][i]);
}else
{
printf("%lf, %lf ", Vastus[0][i], Vastus[1][i]);
}
printf("\n");
i++;
}else
{
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