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

Subprogramul cifrak are 2 parametri, n, prin care primeşte un număr natural cu maximum 9 cifre, şi k, prin care primeşte un număr natural (k≤9). Subprogramul returnează numărul de cifre ale numărului n care sunt egale cu valoarea k. Exemplu: dacă n=233433, iar k=3, subprogramul va returna valoarea 4.
a) Scrieţi definiţia completă a subprogramului cifrak.
b) În fişierul numere.txt sunt memorate mai multe numere naturale (maximum 1000 de numere cu maximum 9 cifre fiecare). Fiecare linie a fişierului conţine câte un număr. Scrieţi programul C/C++ care, folosind apeluri ale subprogramului cifrak, afişează pe ecran, separate prin câte un spaţiu, toate numerele din fişier care conţin exact trei cifre de 0. Exemplu: dacă fişierul numere.txt conţine 260070 39008 70009 se vor afişa, nu neapărat în această ordine, numerele 260070 70009.

Răspunsuri la întrebare

Răspuns de artur99
9
#include <iostream>
#include <fstream>
using namespace std;

int cifrak(int n, int k){
    int t = 0;
    while(n>0){
        if(n%10 == k) t++;
        n=n/10;
    }
    return t;
}

int main(){
    int n;
    ifstream f("numere.txt");
    while(f>>n){
        if(cifrak(n, 0)==3) cout<<n<<" ";
    }
}

artur99: 5 :DD
anaanita2000: ms de ajutor... mai vrei sa ma mai ajuti ?
artur99: npc, încerc următoarea
anaanita2000: faza e ca proful meu de info mi a dat sa lucrez 10 probleme... dar nu am timp... de asta apelez aici... multumesc pt ajutor
artur99: aa :)) Măcar câteva ar trebui să le încerci
anaanita2000: am facut una pana acum.. doar eu...
artur99: a, dar o să știi să îi explici astea rezolvate?
Alte întrebări interesante