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

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

Răspuns de grigore2018
0

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;

}

Alte întrebări interesante