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

Se da un vector cu n elemente. Sa se determine primul si ultimul numar ce nu contine cifra x.ordonati vectorul crescator intre cei 2 indici.

Răspunsuri la întrebare

Răspuns de XxGamerxX244
1

Codul C++ pentru rezolvarea acestei probleme ar putea arăta astfel:

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

int main() {

   int n, x;

   vector<int> v;

   // citirea datelor

   cout << "Introduceti numarul de elemente din vector: ";

   cin >> n;

   cout << "Introduceti elementele vectorului: ";

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

       int element;

       cin >> element;

       v.push_back(element);

   }

   cout << "Introduceti cifra x: ";

   cin >> x;

   // determinarea primului si ultimului numar fara cifra x

   int primul = -1, ultimul = -1;

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

       int numar = v[i];

       bool contine_x = false;

       while (numar != 0) {

           int cifra = numar % 10;

           if (cifra == x) {

               contine_x = true;

               break;

           }

           numar /= 10;

       }

       if (!contine_x) {

           if (primul == -1) {

               primul = i;

           }

           ultimul = i;

       }

   }

   // ordonarea vectorului intre cei 2 indici

   if (primul != -1 && ultimul != -1) {

       sort(v.begin() + primul, v.begin() + ultimul + 1);

   }

   // afisarea rezultatelor

   if (primul == -1 || ultimul == -1) {

       cout << "Nu exista numere fara cifra " << x << " in vector.\n";

   } else {

       cout << "Primul numar fara cifra " << x << " este " << v[primul] << ".\n";

       cout << "Ultimul numar fara cifra " << x << " este " << v[ultimul] << ".\n";

       cout << "Vectorul ordonat intre cei 2 indici: ";

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

           cout << v[i] << " ";

       }

       cout << "\n";

   }

   return 0;

}

---------------------------------------------------------------------------------

Acest cod citește vectorul și cifra x de la tastatură și apoi parcurge fiecare element din vector, determinând dacă acesta conține cifra x. Dacă un număr nu conține cifra x, atunci se actualizează variabilele primul și ultimul cu indicele acestui număr în vector. După aceea, vectorul este ordonat crescător între cei doi indici primul și ultimul, folosind funcția sort() din biblioteca standard. La final, se afișează primul și ultimul număr fără cifra x, precum și vectorul ordonat între cei doi indici.


aledobrotacom: Și in C++?
XxGamerxX244: Acm îți fac
aledobrotacom: Multuu!
XxGamerxX244: vezi ca modific raspnsul sa il vezi
XxGamerxX244: gata
Alte întrebări interesante