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

Va rog, doresc un raspuns urgent! Ofer puncte celui mai bun raspuns, daca nu este complet, macar o indicatie. Multumesc anticipat.

3.Se citeste numarul natural nr din maxim 10 cifre.
Sa se obtina un numar nr1 cu cifrele pare aflate pe pozitii impare in numarul initial.
Daca nu exista astfel de cifre afisati IMPOSIBIL.
ex : 82264
43210 nr1=26
4. Se citesc doua numere naturale nr1 si nr2. Sa se construiasca nr3 dupa urmatorul exemplu:
nr1=123 nr2=456 => nr3=123654.

Răspunsuri la întrebare

Răspuns de noramaria47
2

Răspuns:

la ex 4

succes!

Explicație:

In primul rand gresesti pentru ca ai niste cazuri particulare cand nr1 si nr2 sunt 0, in al doilea rand gresesti pentru ca ai uitat ca poti avea si cifre de 0, iar cel mai mic numar nu poate incepe cu 0 deci rezolvarea se face astfel :

#include <fstream>

using namespace std;

int v[11], nr1, nr2, i, j, cif;

int main()

{

   ifstream f("numere7.in");

   ofstream g("numere7.out");

   f >> nr1 >> nr2;

   if(nr1 == 0 && nr2 == 0) {g << 0; return 0;}

   if (nr1 == 0 && nr2 != 0) v[0] ++;

   if (nr1 != 0 && nr2 == 0) v[0] ++;

   while(nr1)

   {

       cif = nr1 % 10;

       v[cif]++;

       nr1 = nr1 / 10;

   }

   while(nr2)

   {

       cif = nr2 % 10;

       v[cif]++;

       nr2 = nr2 / 10;

   }

   if(v[0] > 0)

   for(i = 1; i <= 9; i ++)

    if(v[i] > 0)

     {

         g << i;

         v[i]--;

         break;

     }

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

     if(v[i] > 0)

      for(j = 1; j <= v[i]; j ++)

       g << i;

    f.close();

    g.close();

    return 0;

}


slytherinbrainly: Multumesc mult!
noramaria47: Cpl
Alte întrebări interesante