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

Cerința

Fiind dat un număr natural n înlocuiți toate aparițiile cifrei c1 din numărul n cu cifra c2.

Date de intrare

Programul citește de la tastatură numerele n, c1 și c2, separate prin spații.

Date de ieșire

Programul va afișa pe ecran numărul x, reprezentând numărul obținut prin înlocuirea cifrei c1 cu cifra c2.

Restricții și precizări

0 ≤ n ≤ 2000000000


Exemplu

Intrare
12523 2 7
Ieșire
17573

Explicație

S-a înlocuit cifra 2 cu cifra 7 în numărul 12523 și s-a obținut numărul 17573.


Imi da doar 80 de puncte pe program,Nu inteleg ce caz particular mai trebuia verificat ​

Anexe:

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n, c1, c2, x=0, cif, copie, z=1;

   cin >> n >> c1 >> c2;

   copie=n;

   while (copie>9)

   {

       z*=10; copie/=10;

   }

   if (n==0 && c1==0) cout << c2;

   else

   {

      while (n)

     {

       cif=n/z; n%=z;  z/=10;

       if (cif==c1) x=x*10+c2;

       else x=x*10+cif;

     }

   cout << x << endl;

   }

   return 0;

}

Explicație:


uionutalin: Mulțumesc mult, dar tot 80 de puncte imi da
boiustef: ??? mă miră faptul... codul l+am luat de pe pbinfo şi e de 100, iată confirmarea

Problema Inlocuire2 Operații I/O tastatură/ecran
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #10004798 Utilizator Boiu Stefan (stefan52)
Fișier inlocuire2.cpp Dimensiune 438 B
Data încărcării 11 Iulie 2018, 15:29 Scor / rezultat 100 puncte
boiustef: poate e altă problemă? Codul e de la problema #871 Inlocuire2
uionutalin: Da, acolo am pus codul, e fix la problema asta am pus-o pe Brainly
boiustef: şi codul postat de mine dă 80 pe pbinfo?
uionutalin: Da, asa imi dadea, dar am rezolvat, trebuia luate cifrele lui n de la dreapta la stânga si sa formez x-ul așa cum scria si pe indicație
uionutalin: oricum iti multumesc din suflet, m-a ajutat sa fac programul complet
Alte întrebări interesante