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

Îmi poate corecta cineva codul vă rog, în cauzl în care este greșit?
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(a[k][2]%2==0)
{
if(a[k] [i] >a[k] [j])
swap(a[k][i], a[k][j])
}

Anexe:

Răspunsuri la întrebare

Răspuns de andrei750238
0

Vom implementa o sortare prin selectie.

Pentru fiecare pozitie i pe care se afla un element par din coloana 3 vom gasi pozitia pe care se afla minimul, incepand de la pozitia i+1

//Pentru fiecare element i

for(i=0;i<5;i++){

//Daca i este impar, treci la valoarea urmatoare

if(a[i][2]%2) continue;

 

//Presupune ca minimul este pe pozitia i+1

k=i+1;

 

//Ia fiecare pozitie incepand cu i+2 cauta minimul

for(j=i+2;j<=5;j++){

 //Daca e impar, sari peste

 if(a[j][2]%2) continue;

 

 //Verifica daca e mai mic decat minimul de pana acum

 if(a[j][2] < a[k][2]) k = j;

}

 

//Interschimba miniumul (k) cu pozitia i

swap(a[i][2],a[k][2]);

}


andrei750238: Nu inteleg prea bine
andrei750238: Ce ai vrut sa faci initial
Alte întrebări interesante