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

20v......................​

Anexe:

boiustef: o idee ar fi de creat vectorul cifrelor celor n numere naturale și de verificat dacă vectorul cifrelor e oglindit...
boiustef: o altă idee .. memorizăm n numere în vector
contorizăm numărul perechilor oglindite egal depărtate de capetele vectorului ( oglindite sunt, de exemplu, 321 și 123.
dacă n impar, verificăm să fie oglindit și elementul de la mijlocul vectorului
mirunaelena263: vreți sa scrieți a ll-a metoda, va rog frumos

Răspunsuri la întrebare

Răspuns de boiustef
2

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n;

   cin >> n;

   int v[n];

   int i,j;

   for (i=0; i<n; i++) {

       cin >> v[i];

   }

   bool oglindit=true;

   int a, b;

   i=0; j=n-1;

   while (j-i>=1 && oglindit) {

      b=v[i]; a=0;

      while (b) {

           a=a*10+(b%10);

           b/=10;

      }

      if (a!=v[j]) oglindit=false;

      ++i; --j;

   }

   if (oglindit && j==i) {

       int vc[20], nc=0;

       b=v[i];

       vc[nc++]=b%10;

       b/=10;

       while (b>9) {

           vc[nc++]=b%10;

           b/=10;

       }

       if (b) vc[nc++]=b;

       

       i=0; j=nc-1;

       while (j-i>=1 && oglindit) {

           if (vc[i]!=vc[j]) oglindit=false;

           ++i; --j;

       }

   }

   if (oglindit) cout << " sir oglindit";

   else cout << " sirul nu-i bine oglindit";

   return 0;

}

Explicație:


boiustef: vc[nc++]=b%10;
pe poziți nc în vectorul vc se scrie ultima cifră a lui b, după ce valoarea lui nc crește cu 1
boiustef: La moment aș prefera ideea 1, e o rezolvare mai simplă...
mirunaelena263: atunci puței sa îmi scrieți si prima idee?
boiustef: mmmm ... nu-mi permite ad[ugare...
boiustef: acum pun imagine...
boiustef: https://imgur.com/56BJEOU
boiustef: deci ultima (adică prima idee :)) ) e mai corectă...
mirunaelena263: mulțumesc!!!
mirunaelena263: am pus încă ceva
mirunaelena263: dacă vreți sa va uitați când aveți timp
Alte întrebări interesante