elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con arreglo de enteros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con arreglo de enteros  (Leído 3,245 veces)
Calensito

Desconectado Desconectado

Mensajes: 7


Sep...


Ver Perfil
Problema con arreglo de enteros
« en: 6 Octubre 2010, 11:46 am »

Hola gente :)
Tengo un problema con este código.

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.    int cadena[10];
  8.    int i , j;
  9.  
  10.    cout << "'Inserte los 10 numeros a ordenar::";
  11.    cout << endl;
  12.    cout << "::";
  13.    cin >> cadena[10];
  14.  
  15.    cout << "Numeros antes de ordenar::";
  16.    cout << endl;
  17.    cout << endl;
  18.  
  19.    for (j = 0 ; j < 10 ; j++)
  20.    {
  21.        cout << "Cadena [" << j << "] :: " << cadena[j];
  22.        cout<<endl;
  23.    }
  24.  
  25.    return 0;
  26. }
  27.  

Lo que tenia en mente era que al poner los 10 números deseados(en cualquier orden) por ejemplo: 9876543210, salga en la pantalla:

Código:
Cadena [O] :: 9
Cadena [1] :: 8
Cadena [2] :: 7
Cadena [3] :: 6
Cadena [4] :: 5
Cadena [5] :: 4
Cadena [6] :: 3
Cadena [7] :: 2
Cadena [8] :: 1
Cadena [9] :: 0
No me sale!!! ajajajjajaja  :xD :xD
Solo me sale esto:
Código:
Cadena [O] :: 0
Cadena [1] :: 4273120
Cadena [2] :: 2293508
Cadena [3] :: 2293560
Cadena [4] :: 2293728
Cadena [5] :: 2009095316
Cadena [6] :: 2008950864
Cadena [7] :: -1
Cadena [8] :: 2009091625
Cadena [9] :: 2009091650
Ya me fije varias veces pero no pasa mierd*.
No se que hago mal.


« Última modificación: 6 Octubre 2010, 12:56 pm por Littlehorse » En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: No se que pasa XD !!!
« Respuesta #1 en: 6 Octubre 2010, 12:55 pm »

Tu problema parte de varios errores conceptuales, te recomendaría que le des un repaso al material que tengas sobre vectores u al capitulo del libro que estés leyendo -si es que estas leyendo uno-

El primer error:

Código
  1. cin >> cadena[10];

Estas leyendo un solo valor que se guardara en la posicion que utilizas en el indice, no estas leyendo 10 numeros. Si lo que queres es leer 10 numeros, necesitas realizar un ciclo al igual que lo haces cuando imprimis los valores del vector.

El segundo error:

Código
  1. cin >> cadena[10];

En un vector de 10 posiciones, el rango valido es 0-9. La posición cadena[10] en este caso es invalida, la posición máxima accesible es cadena[9].

Los valores aleatorios se deben a que el arreglo no esta inicializado, por lo tanto al no leer ningún dato valido en las posiciones de este, lo que ves es el contenido basura del arreglo.

Y por cierto, solo como detalle, una cadena es un arreglo de caracteres, no de enteros.

Saludos!

PD: Utiliza titulos descriptivos para los posts :)


En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: No se que pasa XD !!!
« Respuesta #2 en: 6 Octubre 2010, 12:56 pm »

Tu problema está en que tu sólo introduces una vez un número y lo envías a la última posición de la cadena, que por cierto debería darte una violación de segmento al intentar acceder a la posición 11 de un vector de 10 elementos (recuerda que en C/C++ los vectores van de 0 a n-1).

Código
  1. cin >> cadena[10];

Necesitas iterar la entrada de datos de una forma similar a la que lo haces con la salida.

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Bueno, ya lo dijo todo littlehorse
En línea

Calensito

Desconectado Desconectado

Mensajes: 7


Sep...


Ver Perfil
Re: Problema con arreglo de enteros
« Respuesta #3 en: 6 Octubre 2010, 15:33 pm »

Gracias por responder  :D.

Me rrreee havia olvidado de esoo jajajajajaj.

Citar
Estas leyendo un solo valor que se guardara en la posicion que utilizas en el indice, no estas leyendo 10 numeros. Si lo que queres es leer 10 numeros, necesitas realizar un ciclo al igual que lo haces cuando imprimis los valores del vector.
Citar
Tu problema está en que tu sólo introduces una vez un número y lo envías a la última posición de la cadena, que por cierto debería darte una violación de segmento al intentar acceder a la posición 11 de un vector de 10 elementos (recuerda que en C/C++ los vectores van de 0 a n-1).
Voy a seguir practicando , pero igual gracias por la ayuda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Una duda concatenando un arreglo de enteros[C]
Programación C/C++
flacc 7 8,835 Último mensaje 16 Julio 2012, 05:55 am
por BlackZeroX
Problema con busqueda en arreglo de string
Programación C/C++
MikeMonostone 4 3,179 Último mensaje 13 Noviembre 2012, 00:28 am
por leosansan
Invertir un arreglo de enteros en lenguaje C.- « 1 2 »
Programación C/C++
NOB2014 11 9,786 Último mensaje 19 Enero 2014, 17:53 pm
por rir3760
Problema con enteros muy grandes en Java
Java
Jota1948 3 2,144 Último mensaje 31 Marzo 2014, 19:46 pm
por 1mpuls0
Lenguaje C:apuntador a arreglo de enteros y arreglo de apuntadores a enteros.
Programación C/C++
NOB2014 2 2,718 Último mensaje 27 Noviembre 2015, 12:59 pm
por NOB2014
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines