sa se scrie o fcț ce are ca rametru un vector
Sa se sorteze un vector in ordine crescatoare a cifrei zecilor ,c ++
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
bool comparator(int a, int b)
{
return a / 10 % 10 < b / 10 % 10;
}
void ordoneaza(std::vector<int>& lista)
{
std::sort(lista.begin(), lista.end(), comparator);
}
int main()
{
std::vector<int> lista;
srand(time(NULL));
int n = rand() % 10 + 10;
for (int i = 0; i < n; i++) {
lista.push_back(rand() % 2001 - 1000);
}
std::cout << "Inițial:";
for (int i = 0; i < n; i++) {
std::cout << " " << lista[i];
}
std::cout << std::endl;
ordoneaza(lista);
std::cout << "Final:";
for (int i = 0; i < n; i++) {
std::cout << " " << lista[i];
}
std::cout << std::endl;
}
Explicație:
Funcţia cerută în enunţ este ordoneaza(), care face sortarea vectorului primit ca parametru cu ajutorul bibliotecii de rutine algorithm și a funcţiei comparator().
Cum nu s-a specificat provenienţa vectorului, în funcţia main() am generat unul aleator.