Se dau două numere naturale a şi b strict mai mari ca zero şi cu maxim 9 cifre.
Cerinţă
a) Să se determine cifrele distincte, care apar în a şi nu apar în b.
b) Să se afişeze numărul cel mai mare format din cifrele distincte comune lui a şi b.
Date de intrare
Din fişierul de intrare cifre3.in se citesc de pe prima linie, separate printr-un spaţiu, valorile a şi b.
Date de ieşire
Datele de ieşire se afişează în fişierul de ieşire cifre3.out. Răspunsul la prima cerinţă se va afişa pe prima linie a fişierului, cifrele fiind scrise în ordine strict crescătoare, iar răspunsul la cea de a doua cerinţă pe linia a doua.
Restricţii
0 < a, b ≤ 999999999
În cazul în care nu există cifre în a care nu apar în b pe prima linie a fişierului de ieşire se va afişa valoarea -1
În cazul în care cele două numere nu au nici o cifră comună pe a doua linie a fişierului de ieşire se va afişa valoarea -1.
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("cifre3.in");
ofstream g("cifre3.out");
int a,b,vca[10], vcb[10];
int main()
{
f >> a >> b;
while (a>0) {
vca[a%10]=1;
a=a/10;
}
while (b>0) {
vcb[b%10]=1;
b=b/10;
}
int gasit=0;
for (int c=0; c<10; c++) {
if (vca[c]==1 && vcb[c]==0) {
g << c << " ";
gasit=1;
}
}
if (gasit==0) g << -1;
g << endl;
gasit=0;
for (int c=9; c>=0; c--) {
if (vca[c]==1 && vcb[c]==1) {
g << c;
gasit=1;
}
}
if (gasit==0) g << -1;
return 0;
}
Explicație:
Sunt rezultatele de pe varena.ro:
ID Utilizator Problema Runda Mărime Data Stare
#629247 stefanboiuStefanSen stefanboiu Cifre 3 (clasa a 5-a) Tema 23 clasa a 5-a 0.68 kb 31 ian 22 13:42:37 Evaluare completa: 100 puncte