Buenas e implementado la siguiente linea de código en el problema
#include <stdio.h>
#include <cmath>
#define LARGOLISTA 5
void intercambio(int & A, int & B) {
int aux;
aux = A;
A = B;
B = aux;
}
void OrdenarArreglo(int *ListaEnteros) {
int i,j;
for (i=2; (i<=LARGOLISTA); i++) {
j=i;
while (j>=2 && (ListaEnteros[j]<ListaEnteros[i])) {
intercambio(ListaEnteros[j],ListaEnteros[j-1]);
}
j--;
}
}
main () {
int arr[LARGOLISTA];
int valores;
printf("Ingrese %d enteros positivos: ",LARGOLISTA+1);
//scanf("%d",&valores);
for (int m=0; m<=LARGOLISTA; m++) {
scanf("%d",&valores);
arr[m]=valores;
}
OrdenarArreglo(&arr[LARGOLISTA]);
printf("El arreglo de enteros ordenados es el siguiente:\n");
for (int m=0; m<=LARGOLISTA; m++) {
printf("%d ",arr[m]);
}
return 0;
}
Cuando quiero imprimir el arreglo ordenado en el programa principal no lo modifica, por lo que me pregunto si los pasajes son correctos, mi idea es que en ambos void, ambos estén pasados por referencia así se modifica el arreglo, si se encuentra un error les agradecería mucho hacérmelo saber.
Saludos!