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

Scrieti in C++
Fisierul a.txt contine pe prima linie un numar n,iar pe a doua n numere.
a)Afisati in fisierul b.txt toate numerele care au prima cifra 3 sau 9.Daca nu exista afisati un mesaj corespunzator.
b)Afisati in c.txt media aritmetica a numerelor de o cifra

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai rezolvarea in C++ mai jos

#include <fstream>

using namespace std;

ifstream in("a.txt");

ofstream outb("b.txt");

ofstream outc("c.txt");

int pc(int n) {

   while (n > 9) {

       n /= 10;

   }

   return n;

}

int main() {

   int n, a[10001], cnt = 0, s = 0;

   bool exista_3_9Cifre = false;

   in >> n;

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

       in >> a[i];

   }

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

       if (pc(a[i]) == 3 || pc(a[i]) == 9) {

           outb << a[i] << " ";

           exista_3_9Cifre = true;

       }

       if (a[i] >= 0 && a[i] <= 9) {

           cnt++;

           s += a[i];

       }

   }

   if (!exista_3_9Cifre) {

       outb << "Nu exista numere care au prima cifra 3 sau 9.";

   }

   outc << "Media aritmetica a numerele cu 1 cifra este: " << s / cnt;

   return 0;

}

Alte întrebări interesante