Título: Ejercicio en C de Vectores 1[Borland 5.02]
Publicado por: SonaArtica en 3 Noviembre 2012, 20:41 pm
Bueno aca planteo un ejercicio de vectores, el cual primero ingreso el largo del vector y despues comienzo a colocar los valores para el vector.El vector este se llama "vector1" y despues en una funcion aparte utilizo el metodo de ordenamiento por burbujeo o burbuja y lo llamo "ordenar1" y ordeno de menor a mayor los valores de mi vector. Aca les dejo el codigo: #include <stdio.h> #include <conio.h> void ordenar1(int largo,int vector1[]) { int i,j,aux; for (i=0;i<largo-1;i++) /* Pasadas */ for (j=1;j<largo-i;j++) /* Comparaciones */ if (vector1[j-1]>vector1[i]) { aux=vector1[j]; vector1[j]=vector1[j-1]; vector1[j-1]=aux; } //Imprimo valores ordenados for(i=0;i<largo-1;i++){ printf("Valor en la posicion[%d]:%d \n",i ,vector1 [i ]); }//Cierre de Muestra Valores Ordenados } main(){ size_t largo; // Declarar el tamaño del vector printf("Ingrese el largo de su vector a ordenar \n"); printf("El largo ingresado es :%d",largo ); int vector1[largo]; int i; for(i=0;i<largo;i++){ printf("Ingrese el valor para la posicion[%d]de su vector:\n",i ); scanf("%d",&vector1 [i ]);} void ordenar1(int largo,int vector1[]); return 0;}
Cuando lo coloco en el Borland 5.02 que es el que tengo que usar,me salta dos errores,uno en esta linea: int vector1[largo];
y otro en esta otra: for(i=0;i<largo;i++){
que es cuando declaro el for. Espero que me puedan ayudar,Saludos ^^ :P
Título: Re: Ejercicio en C de Vectores[Borland 5.02]
Publicado por: ecfisa en 3 Noviembre 2012, 21:36 pm
Hola SonaArtica. Proba de este modo: #include <stdio.h> #include <stdlib.h> #include <conio.h> void cargar(int **, int); void ordenar(int **, int); void mostrar(int *, int); int main() { int i, largo, *vector1; printf("Ingrese el largo de su vector a ordenar: "); vector1 = (int *)malloc(sizeof(int) * largo ); cargar(vector1, largo); ordenar(vector1, largo); mostrar(vector1, largo); return 0; } void cargar(int **v, int largo) { int i; for(i=0;i<largo;i++) { printf("Ingrese el valor para la posicion [%d] de su vector: ",i ); } } void ordenar(int **v, int largo){ int i, j, aux; for(i=0; i < largo-1;i++) for(j=i+1; j < largo; j++) if (v[i] > v[j]) { aux = v[j]; v[j] = v[i]; v[i] = aux; } } void mostrar(int *v, int largo) { int i; printf("\nVector ordenado:\n"); for(i=0; i < largo; i++) printf("Valor en la posicion[%d]:%d \n", i , v [i ]); }
Saludos.
Título: Re: Ejercicio en C de Vectores[Borland 5.02]
Publicado por: SonaArtica en 4 Noviembre 2012, 01:09 am
ecfisa tu codigo no me funka y ademas me tira una banda de errores :(
Título: Re: Ejercicio en C de Vectores[Borland 5.02]
Publicado por: twins en 4 Noviembre 2012, 02:41 am
Prueba ahora, tenía algunos errores de paréntesis y otros detalles menores. #include <stdio.h> void ordenar1(int largo,int vector1[]){ int i,j,aux; //aqui solo habia desorden el los parentesis for(i=0;i<largo-1;i++){ for(j=0;j<largo-i-1;j++){ if(vector1[j]>vector1[j+1]){ aux=vector1[j]; vector1[j]=vector1[j+1]; vector1[j+1]=aux; } } } printf("el vector ordenado\n"); //se imprime el vector ordenado for(i=0;i<largo;i++) } int main(void){ size_t largo; // Declarar el tamaño del vector printf("Ingrese el largo de su vector a ordenar \n"); printf("El largo ingresado es :%i\n",largo ); int vector1[largo]; int i; for(i=0;i<largo;i++){ printf("Ingrese el valor para la posicion[%i]\tde su vector:\n",i ); } ordenar1(largo,vector1); //para llamar a la funcion simplemente se pone el nombre de esta y sus parametros sin el tipo de dato return 0; }
Título: Re: Ejercicio en C de Vectores[Borland 5.02]
Publicado por: SonaArtica en 6 Noviembre 2012, 02:12 am
Me sigue sin funcar, no me reconoce el pasaje de valor de longitud o tamaño del vector, a vector atravez de una variable.
Título: Re: Ejercicio en C de Vectores[Borland 5.02]
Publicado por: BatchianoISpyxolo en 6 Noviembre 2012, 02:22 am
Me sigue sin funcar, no me reconoce el pasaje de valor de longitud o tamaño del vector, a vector atravez de una variable.
Es que le tienes que pasar la dirección de memoria donde está alojada la variable largo en el montículo. O sea, el puntero: ordenar1(&largo,vector1)
No, no haría falta, porque le pasas una copia y listo ._., Y a mí al compilar con C::B y ejecutar me va todo perfecto.
Título: Re: Ejercicio en C de Vectores[Borland 5.02]
Publicado por: twins en 6 Noviembre 2012, 05:02 am
Y a todo esto que compilador estas utilizando porque yo lo corri y me funciono perfectamente
Título: Re: Ejercicio en C de Vectores[Borland 5.02]
Publicado por: SonaArtica en 6 Noviembre 2012, 06:20 am
Aclaro bien en el titulo, "Borland 5.02" ::)
|