Responsive image Boda Szilárd weblapja



Laborfeladatok while cilussal:
1. Olvassunk be számokat addig a billentyűzetről, amíg a beolvasott szám pozitív (negatív számra lépjünk ki a ciklusból).

2. Olvassunk be 10 számot a billentyűzetről és határozzuk meg az átlagukat.

3. Olvassunk számokat a billentyűzetről, amíg a beolvasott szám pozitív (negatív számra lépjünk ki a ciklusból), majd írjuk ki a beolvasott pozitív páros számok összegét!

4. Olvassunk be számokat a billentyűzetről egészen addig, még nullát olvasunk (0 ra lépjünk ki), majd írjuk ki a beolvasott páratlan számok szorzatát és a pozitív páros számok összegét.

5. Olvassunk be n számot a billentyűzetről majd írjuk ki a maximumát, minimumát és a beolvasott nullák számát.

6. Határozzuk meg az x szám négyzetgyökét, a következő képletet alkalmazva (az iterálást addig kell végezni amíg yn-yn-1 <0.0001)
y0 = 1
yn = 1/2*(yn-1 + x/yn-1)
Tipp1: használjunk double típust a nagyobb pontosság érdekében!
Tipp2: az yn-yn-1 különbséget moduluszban kell venni, ehhez használjuk az stdlib könyvtárat (#include <stdlib.h> - a program elején) s az abs(y1-y2) fogja az y1-y2 különbség moduluszát visszatéríteni.

Megoldott Feladat
A π (pi) értékét a következő egyszerű iteratív képlettel lehet megközelíteni: pin = pin-1 + sin(pin-1)


#include <iostream>
#include <stdlib.h>
#include <math.h>

using namespace std;

int main(){

    double x,y,k,epsilon;

    //kell egy kezdo kozelito erteket adni, ami lehet peldaul 1
    cout <<"Honnan kezdjuk a kozelitest:";
    cin >>x;

    y=x;
    k=0;
    epsilon = fabs(y-k);

    //addig ismeteljuk a kozelitest, amig ket kozelitesi ertek kozott a kulonbseg nagyon kicsi
    while (epsilon > 0.00000000001){
        k=y;
        y=k+sin(k);
        epsilon = fabs(y-k);

    }

    cout <<"A pi kozelito erteke:"<< y;

    return 0;
}