Autor
|
Tema: Ordenar 5 números de menor a mayor e imprimir los números impares (Leído 24,860 veces)
|
ERIK546
|
Hola a todos, como dice el título no es un programa muy complicado sin embargo no he podido hacer ejecutar de una manera correcta al marcarme error en el ejecutable. Solicito su ayuda les dejo el código, supongo que el problema se encuentra en la dimensión del arreglo. Gracias de antemano.#include <stdio.h> #include <stdlib.h>
int main(int argc, char *argv[]) { int i,j, aux; int arreglo[5]; printf("Programa que ordena de menor a mayor 5 numeros e imprime los impares\n"); printf("Introduce los numeros\n"); for(i=0;i<=4;i++){ scanf("%d",arreglo[i]); } for(i=0;i<=4;i++){ for(j=i+1;j<=4;j++){ if(arreglo[i]>arreglo[j]){ arreglo[i]=aux; arreglo[i]=arreglo[j]; arreglo[j]=aux; } } } for(i=0;i<=4;i++){ printf("El ordenamiento queda de la siguiente manera: %d\n",arreglo[i]); } for(i=0;i<=4;i++){ if((arreglo[i]/2)!=0){ printf("Los numeros impares son: %d\n",arreglo[i]); } } system("PAUSE"); return 0; }
|
|
|
En línea
|
|
|
|
maxim_o
Desconectado
Mensajes: 186
|
No lo he mirado mucho... pero asi a ojo parece un error en la asignacion en el if... arreglo[i]=aux; arreglo[i]=arreglo[j]; arreglo[j]=aux;
aux=arreglo[i]; arreglo[i]=arreglo[j]; arreglo[j]=aux;
|
|
|
En línea
|
|
|
|
The Swash
Desconectado
Mensajes: 194
Programmer
|
Hola, Tienes 2 problemas: - Utilizas mal el término de intercambiar valor entre 2 variables.
- Utilizas mal el término de punteros.
Tus errores recaen en la variable que le pasas al "scanf", debe ser un puntero. Entonces debe ser "&arreglo(i)" y en la utilización incorrecta del intercambio de variables. Te recomiendo tratar de indentar mejor, mira que se ve un poco más claro.#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i,j, aux; int arreglo[5]; printf("Programa que ordena de menor a mayor 5 numeros e imprime los impares\n"); printf("Introduce los numeros\n"); for(i=0;i<=4;i++) { } for(i=0;i<=4;i++) { for(j=i+1;j<=4;j++) { if(arreglo[i]>arreglo[j]) { aux = arreglo[i]; arreglo[i] = arreglo[j]; arreglo[j] = aux; } } } for(i=0;i<=4;i++) { printf("El ordenamiento queda de la siguiente manera: %d\n",arreglo [i ]); } for(i=0;i<=4;i++) { if((arreglo[i]%2)!=0) { printf("Los numeros impares son: %d\n",arreglo [i ]); } } return 0; }
Un saludo, Iván Portilla.
|
|
|
En línea
|
|
|
|
ERIK546
|
No lo he mirado mucho... pero asi a ojo parece un error en la asignacion en el if... arreglo[i]=aux; arreglo[i]=arreglo[j]; arreglo[j]=aux;
aux=arreglo[i]; arreglo[i]=arreglo[j]; arreglo[j]=aux;
Lo he intentado pero sigue marcándome dicho error.
|
|
|
En línea
|
|
|
|
maxim_o
Desconectado
Mensajes: 186
|
Mira tambien lo que te dijo The swash... En el scanf debes pasarle una direccion de memoria &arreglo
|
|
|
En línea
|
|
|
|
overxfl0w13
|
Me apetecía practicar con C++ que me estoy poniendo otra vez con él, mírate este código  #include <iostream> using namespace std; int main() { int array[5],x=0,i=0,temp; for (x=0;x<=4;x++) { cout << "Inserta el valor " << x <<endl; cin >> array[x]; } for (x=0;x<=4;x++) { for (i=0;i<=3;i++) { if(array[i] > array[i+1]) { temp = array[i]; array[i] = array[i+1]; array[i+1] = temp; } } } cout <<"Ordenamiento: " <<endl; for (x=0;x<=4;x++) { cout << array[x] << endl; } cout << "IMPARES:"<<endl; for (x=0;x<=4;x++) { if(array[x] % 2 != 0) { cout << "Valor-->" << array[x]<<endl; } } return 0; }
|
|
« Última modificación: 21 Junio 2012, 01:02 am por overxfl0w13 »
|
En línea
|
[/url]
|
|
|
ERIK546
|
Hola, Tienes 2 problemas: - Utilizas mal el término de intercambiar valor entre 2 variables.
- Utilizas mal el término de punteros.
Tus errores recaen en la variable que le pasas al "scanf", debe ser un puntero. Entonces debe ser "&arreglo(i)" y en la utilización incorrecta del intercambio de variables. Te recomiendo tratar de indentar mejor, mira que se ve un poco más claro.#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i,j, aux; int arreglo[5]; printf("Programa que ordena de menor a mayor 5 numeros e imprime los impares\n"); printf("Introduce los numeros\n"); for(i=0;i<=4;i++) { } for(i=0;i<=4;i++) { for(j=i+1;j<=4;j++) { if(arreglo[i]>arreglo[j]) { aux = arreglo[i]; arreglo[i] = arreglo[j]; arreglo[j] = aux; } } } for(i=0;i<=4;i++) { printf("El ordenamiento queda de la siguiente manera: %d\n",arreglo [i ]); } for(i=0;i<=4;i++) { if((arreglo[i]%2)!=0) { printf("Los numeros impares son: %d\n",arreglo [i ]); } } return 0; }
Un saludo, Iván Portilla. Muchas gracias ha corrido a la perfección.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ordenar de mayor a menor 5 numeros ingresados x el teclado!!!
ASM
|
XxArCaNgElxX
|
0
|
18,890
|
20 Mayo 2011, 21:19 pm
por XxArCaNgElxX
|
|
|
Duda en programa: Mayor, menor y media de n números. [solucionado]
Programación C/C++
|
Manimecker
|
4
|
17,526
|
21 Octubre 2011, 06:16 am
por Manimecker
|
|
|
Calcular numeros impares, de 0 a n.
« 1 2 »
Programación C/C++
|
Vicks
|
15
|
13,763
|
22 Febrero 2012, 18:41 pm
por Caster
|
|
|
Ordenar de menor a mayor una serie de números en Texbox y evitar repetidos
.NET (C#, VB.NET, ASP)
|
luis456
|
3
|
4,723
|
9 Octubre 2013, 18:12 pm
por Eleкtro
|
|
|
ordenar columnas de numeros de mayor a menor de jtable
Java
|
soy_nicanor
|
3
|
4,342
|
12 Febrero 2017, 02:14 am
por soy_nicanor
|
|