Informatică, întrebare adresată de davidberbece, 8 ani în urmă

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 de stefanboiu
3

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


stefanboiu: Ser s[ fie clar codul...
stefanboiu: Succese!
Alte întrebări interesante