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

#871 pbinfo va rooooog dau coroana

Răspunsuri la întrebare

Răspuns de ProMinecraft69
2

Răspuns:

1. Normal cu descompunere in cifre

#include <iostream>

using namespace std;

int n , d;

long long s = 0;

int main()

{

   long long nr,c1,c2;

   cin >> nr >> c1>>c2;

   

   if(nr == 0)

   {

       cout <<c2;

       return 0;

   }

   long long pow = 1;

   long long afis = 0;

   while(nr > 0)

   {

       if(nr % 10 == c1)

           afis = afis + pow * c2;

       else afis = afis + pow *(nr % 10);

       nr = nr / 10;

       pow = pow * 10;

   }

   cout << afis;

}

2. Parcurgi fiecare cifra si o schimbi cand ajungi la cea necesara.(folosim string)

#include <iostream>

using namespace std;

int main()

{

   string g;

   char c1,c2;

   cin >> g >> c1 >> c2;

   for(int i = 0; i < g.length(); i++)

   {

       if(g[i] == c1)

           g[i] = c2;

   }

   cout << g;

   return 0;

}

Explicație:

Din cate am vazut eu , banuiesc ca , cazul care iti lipseste tie este acela pentru momentul cand numarul este 0. Daca ai facut o parcurgere cat timp numarul nu este 0 iti da raspuns gresit deoarece nu se inlocuieste cu nimic daca numarul citit din  fisierul site-ului este 0 ;D


simonlupascu78: mersiii mult
ProMinecraft69: Mai multa atentie data viitoare :D
simonlupascu78: ;)
ProMinecraft69: Ti-am dat si metodaa cu string poate ti se pare mai usoara : ))
simonlupascu78: pentru ce folosesti string ??
ProMinecraft69: Pentru a parcurge mai usor cifrele numarului
ProMinecraft69: De exemplu daca ai numarul n = 123 cu string, n[0] = 1, n[1] = 2 si n[2] = 3, e un fel de vector care contine cifrele.
simonlupascu78: a , ok
Răspuns de Emiloanta
2

Soluția mea (100p)

#include <iostream>

using namespace std;

int main()

{

int n,x=0,p=1,c,c1,c2;

cin>>n>>c1>>c2;

do

{

c=n%10;

if (c==c1) c=c2;

x=c*p+x;

p=p*10;

n/=10;

}while (n);

cout<<x;

return 0;

}

Soluția oficială:

#include <iostream>

using namespace std;

int n,c1,c2,c,x=0,p=1;

int main()

{

cin>>n>>c1>>c2;

do

{   c=n%10;

if(c==c1)x=x+p*c2;

else x=x+p*c;

p=p*10;

n/=10;

}while(n>0);

cout<<x;

return 0;

}

Alte întrebări interesante