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
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.