Se consideră tabloul bidimensional A[1..n, 1..m] cu elemente numere întregi. Să se compună un program care va rearanja liniile matricei A astfel încât elementele de pe ultima coloană să fie în ordine descrescătoare prin metoda selecției. Tabloul modificat va fi afișat pe ecran.
Va rog frumos.
Răspunsuri la întrebare
Metoda selectiei:
#include <algorithm>
#include <iostream>
int main()
{
const int length = 5;
int array[length] = { 30, 50, 20, 10, 40 };
//Trecem prin fiecare element al matricei
// (Inafara de ultimul, el va fi deja sortat in momentul, cand ajungem la el)
for (int startIndex = 0; startIndex < length - 1; ++startIndex)
{
// In variabila smallestIndex se pastreaa indexul celei mai mici valori, care a fost gasita
// Incepem cu aceea ca , cel mai mic element din aceasta interatie - este primul element (indexul 0)
int smallestIndex = startIndex;
// Apoi căutați un element mai mic în restul matricei.
for (int currentIndex = startIndex + 1; currentIndex < length; ++currentIndex)
{
// Dacă am găsit un element mai mic decât elementul nostru cel mai mic
if (array[currentIndex] < array[smallestIndex])
// il memoram
smallestIndex = currentIndex;
}
// smallestIndex acum este cel mai mic element
// schimbam pozitia celui mai mic element,cu cel pe care l-am gasit
std::swap(array[startIndex], array[smallestIndex]);
}
// Acum cand tot taboul este ordonat il afisam pe ecran
for (int index = 0; index < length; ++index)
std::cout << array[index] << ' ';
return 0;
}