Informatică, întrebare adresată de Deni00, 9 ani în urmă

Pbinfo.ro #1566
Se da numarul natural n.
Afisati numarul, cu prima cifra inversata cu a 2-a, a 3-a cu a 4-a, etc.
Restrictii si precizari:
10 <= n <= 99 999 999
n are un numar par de cifre
Exemplu
Intrare

123456
Ieșire

214365
Explicație
1 a fost inversat cu 2, 3 cu 4, iar 5 cu 6.

Dati-mi o indicatie, ca nu reusesc sa-i dau de cap.

Răspunsuri la întrebare

Răspuns de hinganesculeonovaty5
5
#include <iostream>
using namespace std;
 int main(){
    int n, a, c, x=0, p=1;
    cin>>n;
    while (n) {
        c=n%10;
        n/=10;
        a=c;
        c=n%10;
        n/=10;
         x=x+c*p;
        p*=10;
        x=x+a*p;
        p*=10;
     }
    cout<<x<<'\n';
}
Răspuns de Rayzen
5
#include <iostream>
using namespace std;

int main()
{
   int n;
   int k=1,i=1;
   cin>>n;
   int V[999999];

   for(int i=1;i<=k;i++)
   {
       V[i] = n%10;
       n = n/10;
       if(n!=0)
       {
           k++;
       }
   }
   for(i=k;i>=1;i=i-2)
   {
       swap(V[i],V[i-1]);
       cout<<V[i]<<V[i-1];
   }
}

Rayzen: Da... al meu da doar 20..
stassahul: Lol, real, la tine vectorul are lungimea 1 xD
Rayzen: Are lungimea 1 la inceput, dar dupa creste.
Rayzen: cred.
Rayzen: Dar, daca are un singur element, de ce afiseaza si pentru v[2], daca ii introduc un v[2]?
Rayzen: si etc.
stassahul: Pentru ca faci in Codeblocks
stassahul: Pe pbinfo iti da eroare
Rayzen: aaaa, de asta cred ca imi dadea eroare.
Rayzen: doar 20 de puncte.*
Alte întrebări interesante