Se defineşte subprogramul sub cu doi parametri, subprogram care primeşte prin intermediul parametrului n un număr natural de cel mult opt cifre şi prin intermediul parametrului k o cifră. Subprogramul determină eliminarea primei apariţii a cifrei k în numărul n şi returnează numărul obţinut prin intermediul parametrului n. De exemplu, pentru valorile n=152422 şi k=2 ale parametrilor, în urma apelului subprogramului sub, parametrul n va returna valoarea 15422. Dacă cifra k nu apare în scrierea numărului n, atunci valoarea lui n nu se modifică.
a) Scrieţi definiţia completă a subprogramului sub.
b) Scrieţi în limbajul C sau C++ programul în care se citesc de la tastatură două numere naturale a şi b cu cel mult opt cifre. Programul va determina şi va afişa pe ecran numărul de cifre distincte ce intră atât în scrierea lui a cât şi în scrierea lui b, fără a accesa cifrele numerelor a şi b, folosind apeluri ale subprogramului sub.
De exemplu, pentru valorile a=1237248 şi b=1245823 programul va determina afişarea pe ecran a valorii 5 deoarece sunt cinci cifre distincte (1,2,3,4 şi 8) ce apar atât în scrierea lui a cât şi în scrierea lui b.
Răspunsuri la întrebare
Răspuns de
4
#include <iostream>
using namespace std;int sub(int n, int k){int n1 = 0;while(n){ n1 = n1 * 10 + n % 10; n /= 10;}bool ok = true;while(n1){ if(ok){ if(n1 % 10 == k){ ok = false; n1 /= 10; } else {
n = n * 10 + n1 % 10; n1 /= 10; } } else { n = n * 10 + n1 % 10; n1 /= 10; }}return n;}int main(){ int a, b, ct = 0; cin >> a >> b; for(int i = 1; i <= 9; i++) { if(sub(a, i) != a && sub(b, i) != b) ct++; } cout << ct;}daca subprogramul modifica a - ul si b - ul in acelasi timp, inseamna ca au o cifra comuna.
using namespace std;int sub(int n, int k){int n1 = 0;while(n){ n1 = n1 * 10 + n % 10; n /= 10;}bool ok = true;while(n1){ if(ok){ if(n1 % 10 == k){ ok = false; n1 /= 10; } else {
n = n * 10 + n1 % 10; n1 /= 10; } } else { n = n * 10 + n1 % 10; n1 /= 10; }}return n;}int main(){ int a, b, ct = 0; cin >> a >> b; for(int i = 1; i <= 9; i++) { if(sub(a, i) != a && sub(b, i) != b) ct++; } cout << ct;}daca subprogramul modifica a - ul si b - ul in acelasi timp, inseamna ca au o cifra comuna.
Alte întrebări interesante
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
9 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă