Informatică, întrebare adresată de Endomellz, 8 ani în urmă

Cum as putea sa fac suma numerelor din fisier?

De ex. in bac.in am 1 2 3 4 5 si sa afisez in bac.out 15

As putea sa folosesc while (cin>>n)? Daca da,cum?

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream fin("bac.in");

ofstream fout("bac.out");

int num, suma;

int main()

{

   while (fin >> num)

   {

       suma=suma+num;

   }

   fout << suma;

}

Explicație:

foloseşti cin când citeşti datele de la consolă, dar din fişier

while (fin >>num), adică cât în fişier mai sunt numere de citit. Dar mai bine postez realizarea ...

denumirea fin înseamnă fişier de intrare, fout înseamnă fişier de ieşire.

Codul postat este pentru cazul cînd nu se ştie câte numere conţine fişierul de intrare.

Frecvent apar probleme cu alt enunţ. "În fişierul bac.in, pe prima linie se află un număr natural n, iar pe a doua linie se află n numere naturale separate prin spaţiu. De calculat suma numerelor de pe a doua linie şi de scris rezultatul în fişierul bac.out."

Atunci citirea va fi astfel:

fin >> n;

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

{  f >> num;  suma=suma+num; }

fout << suma;


Endomellz: Multumesc mult pentru lamurire!
Alte întrebări interesante