Răspuns :
#include <iostream>
using namespace std;
int main()
{
int n, x, a[100],copie, nr=0, i;
cout<<"Numaru este: ";cin>>n;
cout<<"Cauta vecinii cifrei: ";cin>>x;
copie=n;
while(copie!=0)
{
nr=nr+1;
a[nr]=copie%10;
// in vector se v-a memora cifrele numarului, insa invers
// de exemplu daca citesc n=2345, atunci vectorul a[] va fi: 5 4 3 2
copie=copie/10;
}
for(i=nr;i>=1;i--)
if(a[i]==x)
cout<<"Vecinii lui " <<x<<" sunt: "<<a[i+1]<<" "<<a[i-1]<<endl;
}
---------------------------------------------------------------------
Pentru n=2345 se va afisa:
Vecinii lui 4 sunt: 3 5
Pentru n=234538 se va afisa:
Vecinii lui 3 sunt: 2 4
Vecinii lui 3 sunt: 5 8
Efectiv muti cifrele in vector si parcurgi vectorul pana cand gasesti cifra x ( citita )
In problema asta vectorul a este format din cifrele lui n luate de la dreapta la stanga.. de aceea am luat acel for(i=nr;i>=1;i--) pentru a lua elementele de la capat.. adica
pentru n=2345, vectorul a este: 5 4 3 2
Daca pun acel for voi verifica elementele de la dreapta la stanga, adica teoretic vectorul meu, in timpul parcugerii, este: 2 3 4 5 ( TEORETIC )
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!