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
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;
}