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

1. Se dau două numere de câte două cifre fiecare. Să se calculeze suma cifrelor pare de la cele două numere.

2. Se dă un număr de patru cifre, să se afișeze cea mai mare cifră și de câte ori apare.

3. Se dau două numere de trei cifre, să se afișeze numărul obținut din cea mai mică cifra impară a primului număr și cea mai mică cifra impara de la al doilea.

In limbaj C++. Măcar o problema, va mulțumesc mult

Răspunsuri la întrebare

Răspuns de LwveMike
2

Răspuns:

// PRIMA PROBLEMA

#include <iostream>

using namespace std;

int sum=0;

void sumaCifrelor(int N)

{

   int r;

   if (N == 0) {

       return;

   }

   r = N % 10;

   sumaCifrelor(N / 10);

   if(r%2 == 0)

       sum+=r;

}

int main()

{

   int n1,n2;

   cout<<"Primul numar : ";cin>>n1;cout<<endl;

   cout<<"Al doilea numar : ";cin>>n2;cout<<endl;

   sumaCifrelor(n1);

   sumaCifrelor(n2);

   cout<<"Suma cifrelor pare a celor doua numere este : "<<sum;

   return 0;

}

// A DOUA PROBLEMA

#include <iostream>

using namespace std;

int v[9] = {0};

void ceaMaiMare(int N)

{

   int r;

   if (N == 0) {

       return;

   }

   r = N % 10;

   ceaMaiMare(N / 10);

   v[r]++;

}

int main()

{

   int nr;

   cout<<"Numarul : ";cin>>nr;cout<<endl;

   ceaMaiMare(nr);

   int maxx=v[0];

   int maxxi=0;

   for(int i=0;i<=9;i++){

       if(maxx<v[i]){

           maxx=v[i];

           maxxi=i;

       }

   }

   cout<<"Cea mai des intalnita cifra : "<<maxxi<<endl;

   cout<<"S-a gasit de "<<maxx<<" ori.";

   return 0;

}

// A TREIA PROBLEMA

#include <iostream>

using namespace std;

int v[9];

void imp(int N)

{

   int r;

   if (N == 0) {

       return;

   }

   r = N % 10;

   imp(N / 10);

   v[r]++;

}

int main()

{

   int nr,nr2;

   cout<<"Primul numar : ";cin>>nr;cout<<endl;

   cout<<"Al doilea numar : ";cin>>nr2;cout<<endl;

   int z1=0,z2=0;

   imp(nr);

   for(int i=0;i<=9;i++){

       if(v[i]!=0 && i%2!=0){

           z1=i;

           break;

       }

   }

   for(int j=0;j<=9;j++)

       v[j]=0;

   imp(nr2);

   for(int i=0;i<=9;i++){

       if(v[i]!=0 && i%2!=0){

           z2=i;

           break;

       }

   }

   cout<<z1<<z2;

   return 0;

}

Explicație:


LwveMike: In caz de nelamurire, dai reply.
AlexHey: E super! mulțumesc mult
LwveMike: a fost destul de usor, + coronita
Alte întrebări interesante