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

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 de VxF
1

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.

Alte întrebări interesante