În fişierul text alfa.txt se află, câte unul pe linie, mai multe numere. În fişierul text divizori.txt se vor scrie pe câte o linie, în aceeaşi ordine, divizorii unui număr din fişierul alfa.txt. Afişaţi pe ecran, pe câte un rând, folosind informațiile din cele doua fisiere: Numarul …. Are divizori…… 9

#include <iostream>

#include <fstream>

using namespace std;

int main() {

    // deschidem fisierul alfa.txt pentru citire

    ifstream alfa(„alfa.txt”);

    // deschidem fisierul divizori.txt pentru scriere

    ofstream divizori(„divizori.txt”);

    int numar;

    // parcurgem fisierul alfa.txt si scriem divizorii in fisierul divizori.txt

    while (alfa >> numar) {

        divizori << „Divizorii lui ” << numar << „: „;

        for (int i = 1; i <= numar; i++) {

            if (numar % i == 0) {

                divizori << i << ” „;

            }

        }

        divizori << endl;

    }

    // inchidem cele doua fisiere

    alfa.close();

    divizori.close();

    // deschidem fisierul alfa.txt pentru citire

    alfa.open(„alfa.txt”);

    // deschidem fisierul divizori.txt pentru citire

    divizori.open(„divizori.txt”);

    // afisam pe ecran numarul si divizorii corespunzatori

    while (alfa >> numar) {

        string linie;

        getline(divizori, linie);

        cout << „Numarul ” << numar << ” are ” << linie.substr(13) << endl;

    }

    // inchidem cele doua fisiere

    alfa.close();

    divizori.close();

    return 0;

}

Acest program citeste numerele din fisierul alfa.txt, determina divizorii si ii scrie intr-un fisier divizori.txt. Apoi, citeste numarul si divizorii corespunzatori din cele doua fisiere si ii afiseaza pe ecran.

Exemplu de conținut pentru fișierul alfa.txt:

10

27

15

Exemplu de conținut pentru fișierul divizori.txt:

Divizorii lui 10: 1 2 5 10

Divizorii lui 27: 1 3 9 27

Divizorii lui 15: 1 3 5 15

Exemplu de output:

Numarul 10 are 1 2 5 10

Numarul 27 are 1 3 9 27

Numarul 15 are 1 3 5 15

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *