Informatică, întrebare adresată de Ljfhrskkdhskshegse, 9 ani în urmă

Se citeste n din "fisier 2.in".Sa se afișeze toate cifrele sale impare

Răspunsuri la întrebare

Răspuns de Utilizator anonim
1
Exista doua metode, una ceva mai corecta.

Metoda 1 care afiseaza toate cifrele impare de cate ori apar in numar (adica pentru 13777 o sa afiseze 7 7 7 3 1, nu 7 3 1 sau 1 3 7):
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream in("fisier2.in");
    int n; in >> n;
    while(n)
    {
        if (n%2==1) cout << n%10 << " ";
        n /= 10;
    }
    return 0;
}

Metoda 2 care afiseaza corect o singura data cifrele impare din numar (pentru 13777 o sa afiseze 1 3 7):
#include <iostream>
#include <fstream>

using namespace std;

int a[10];

int main()
{
    ifstream in("fisier2.in");
    int n; in >> n;
    while(n)
    {
        if (n%2==1) a[n%10]++;
        n /= 10;
    }
    for (int i=1; i<=9; i+=2)
        if (a[i]) cout << i << " ";
    return 0;
}

Ljfhrskkdhskshegse: Ms mult
Utilizator anonim: cu placere :)
Alte întrebări interesante