Escriba un programa en C para restaurar los valores de una matriz unidimensional en orden inverso.
#includelt;stdio.hgt;
int? main()
{
int a[5]={8, 6, 5, 4, 1}, i, n=5, temp;
for(i=0; ilt; n/2; i )
{
temp=a[i];
a[i]=a[n-i-1]
a[n-i-1]=temp ?
}?
for(i=0;ilt;n;i)
{
? printf("d\t",a[ i]);
} ?
sistema("pausa");
retorno
}
Información ampliada: ?
Clasificación selectiva
La idea principal es predeterminar el primer elemento de la matriz al valor máximo (mínimo), y luego, este elemento se compara con cada elemento siguiente, es decir, se ordena de mayor a menor y se intercambia cuando el primer valor encuentra un elemento mayor que él. De esta forma, después de la primera ronda, el primer bit es el más grande.
Luego, en la segunda ronda, compare uno por uno comenzando desde el segundo dígito, e intercambie cuando encuentre un dígito más grande que el segundo dígito. De esta manera, el segundo dígito después de la segunda ronda será el segundo. analogía más grande.
void selectSort(int números[], int longitud) { for (int i = 0; i lt; length; i) {
for (int j = i 1; j lt; longitud; j) {
?if (números[i] lt; números[j]) {
int temp = números[i]; > números[i] = números[j];
números[j] = temporal;
?
} }
} int main(int argc, const char * argv[]) { int myArray[] = {42, 7, 1, -3, 88}; int length = sizeof(myArray) / sizeof( myArray[0]); miArray, longitud); for (int i = 0; i lt; longitud; i) {
printf("i ", miArray[i] } return 0;
}
Cuando el primer número a comparar es i = 0, j debe ser igual a i 1, porque el primer número debe compararse comenzando desde el segundo número y compararse en longitud - 1 veces cuando i =; 1, j = 2, y compare la longitud - 2 veces, y así sucesivamente, lo anterior se escribe en orden de mayor a menor;