Este es mi primer Aporte, realmente buscaba algo a que aportar a la comunidad...
En esta ocasión quisiera Compartir Este programa sencillo hecho en C
Problemática:
Ordenar un Arreglo sin Modificar/Cambiar De ese Arreglo, Solamente por Indices
Como lo pide.. Crearemos un arreglo que almacene los indices del Arreglo original y los vamos a ir ordenando , la impresión que gusten sera de Menor a Mayor o viceversa
En este caso yo lo hice de Mayor a Menor
Ahora por ultimo, Se que aquí pueden haber mejores programadores que dominen este lenguaje
Hay alguna forma de Mejorar el código u otra forma mas eficaz de hacerlo?
#include <stdio.h>
#define n 33
int main(){
int promedio[n] = {7,3,1,10,5,10,8,5,3,5,1,6,4,7,9,8,1,10,9,8,1,7,6,4,3,5,1,0,10,8,10,9,8};
int orden[n] ={}, i=0, j= 0;
orden[0] = 0;
int aux = 0;
for(i = 0; i < n ; i++){
orden[i] = i;
for(j=0; j < i; j++){
//aux = orden[j];
if(promedio[orden[j]] < promedio[i]){
aux = orden[i];
orden[i] = orden[j];
orden[j] = aux;
}
}
}
//Orden de Arreglo Sin Modificar
for(i=0; i < n; i++){
printf("\n%d", promedio[orden[i]]);
}
//Arreglo Original
for(i=0; i < n; i++){
printf("\n%d", promedio[i]);
}
return 0 ;
}