Napisz program, który wczyta liczby z pliku input.dat i obliczy ich średnią. Wynik ma być zapisany do pliku output.dat.

Jako rozwiązanie proszę przesłać jedynie kod źródłowy z pliku main.cpp.


Odpowiedź :

Odpowiedź:

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main(int argc, char const *argv[])

{

   // liczymy ile liczb jest w pliku

   string s;

   int numbers;

   ifstream count;

   count.open("input.txt");

   while (!count.eof())

   {

       getline(count, s);

       numbers++;

   }

   count.close();

   // wczytyjemy liczby z pliku i liczymy średnią

   cout << numbers - 1 << endl;

   double sum = 0;

   double data[numbers - 1];

   ifstream input("input.txt");

   for (int i = 0; i < numbers; i++)

   {

       input >> data[i];

       sum += data[i];

   }

   input.close();

   cout << sum << endl;

   // zapisujemy średnią do pliku

   ofstream writeAverage;

   writeAverage.open("output.txt");

   writeAverage << sum / (numbers - 1);

   cout << sum / (numbers - 1);

   writeAverage.close();

   return 0;

}

Wyjaśnienie:

Uff, trochę mi to zajęło. Ale jest dobrze i działa wszystko :)