﻿/*
File I/O (beolvasás fájlból, kiírás fájlba)

Beolvasás:
    #include <fstream>

    int main()
    {
        ...
        ifstream bemenet("input.txt");
        ...
    }


    CodeBlocks-ban:
        File -> New -> Empty File
            mentjük input.txt néven

    A továbbiakban a "bemenet" válzozó
    használható cin helyett beolvasá-
    sokhoz.


Kiírás:
    #include <fstream>

    int main()
    {
        ...
        ofstream kimenet("output.txt");
        ...
    }


    CodeBlocks-ban:
        File -> New -> Empty File
            mentjük output.txt néven

    A továbbiakban a "kimenet" válzozó
    használható cout helyett kiírásokhoz.

*/
/*
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream bemenet("input.txt");
    ofstream kimenet("output.txt");

    int n;
    bemenet >> n;
    kimenet << n*n << endl;
    return 0;
}
*/

/* Feladat:
A "be.txt" fájlban adott egy n term.
szám, majd egy n elemű sorozat elemei.
Írjuk ki a "ki.txt" fájlba a sorozat
minden elemének az ötszörösét!

Pl. be.txt:
        5
        2 6 3 1 0
    ki.txt:
        10 30 15 5 0
*/

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream bemenet("be.txt");
    ofstream kimenet("ki.txt");

    int n;
    bemenet >> n;

    for (int i = 1; i <= n; i++) {
        int szam;
        bemenet >> szam;
        kimenet << szam * 5 << " ";
    }

    kimenet << endl;
    return 0;
}



/*
Beolvasás fájlból, míg el nem fogynak az elemek.
*/
/*
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream bemenet("be.txt");

    int szam;
    while (bemenet >> szam) {

        ....
    }

    return 0;
}
*/
/*
    Megj. a "bemenet >> szam" alakú beolvasás
    feltételként használva akkor igaz, ha
    sikerült beolvasni, ellenkező esetben
    (pl. ha nincs már több elem) hamis.
*/

/*
Feladat:
    Adott egy fájl, benne egész számok
    szóközökkel elválasztva. Írjuk ki:

    a) hány szám van a fájlban
    b) mennyi az átlaguk
    c) mennyi a legkisebb és legnagyobb érték
    d) milyen hosszú a leghosszab olyan része,
       ami kétjegyű számokból áll
    e) hányadik helyen van az utolsó egyjegyú szám?

    Pl.
        1 2 33 44 55 7 99 88

        akkor a kimenet:
            db: 8
            átlag: 41.125
            legkisebb: 1
            legnagyobb: 99
            kétjegyű rész max hossza: 3
            utolsó egyjegyű helye: 6
*/



