Tengo creada una función que ordena un arreglo de forma ascendente.
Ahora necesito que esa función me regrese el arreglo ordenado para seguir usándolo en el main().
#include<stdio.h>
int ordenar_vector(int V[],int a){
int aux=0,i,j;
for(i=0; i<a; i++){
for(j=0; j<a-1; j++){
if(V[j]>V[j+1]){
aux=V[j];
V[j]=V[j+1];
V[j+1]=aux;
}
}
}
}
int main(){
int L=0;
printf("\nCuantos elementos desea que tengo el vector:");
scanf("%d",&L);
int V[L];
printf("\n\nIngrese los elementos del vector:\n");
for(int i=0;i<L;i++){
scanf("%d",&V[i]);
}
}
Esto no funciona simplemente poniéndole un return V al final de la función y guardar en el main() asi:
int vector_ordenado[L];
vector_ordenado=ordenar_vector(V[],L);
ouch, lo siento mucho, ya pude solucionarlo. No sé si algún moderador puede eliminar el tema o?.
En todo caso, dejo el código solucionado (a alguien le servirá):
#include<stdio.h>
int* ordenar_vector(int V[],int a){
int aux=0,i,j;
for(i=0; i<a; i++){
for(j=0; j<a-1; j++){
if(V[j]>V[j+1]){
aux=V[j];
V[j]=V[j+1];
V[j+1]=aux;
}
}
}
return V;
}
int main(){
int L=0;
printf("\nCuantos elementos desea que tengo el vector:");
scanf("%d",&L);
int V[L];
printf("\n\nIngrese los elementos del vector:\n");
for(int i=0;i<L;i++){
scanf("%d",&V[i]);
}
int *Z=ordenar_vector(V,L);
for(int i=0;i<L;i++){
printf("%d",Z[i]);
}
}
De igual manera, me gustaría entender ¿por qué tuve que poner el asterisco de puntero luego del int en mi función y declarar mi variable Z como puntero?
no es renecesario el return, recomiendo leer un poco mas sobre c... cuando pasas array a una funcion pasas la dirección de momeria (se pasa por referencia) así que lo que haga la funcion afecta al array pasado
ej en c++
#include<iostream>
void cambiar(int V[], int e){
int i;
for (i=0;i<e;i++)
V[i]*=7;
}
int main(){
int V[10];
int i;
for (i=0;i<10;i++)
V[i]=i;
for (i=0;i<10;i++)
std::cout << V[i] << std::endl;
cambiar(V,10);
for (i=0;i<10;i++)
std::cout << V[i] << std::endl;
}
y no, no se tiene que eliminar el tema... el foro no es un sistema de atención al cliente... es un registro de conocimientos para que cualquiera con dudas similares consiga en internet y pueda ver información al respecto