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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  no me muestra el contenido de mi vector
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: no me muestra el contenido de mi vector  (Leído 2,061 veces)
lebr123

Desconectado Desconectado

Mensajes: 3


Ver Perfil
no me muestra el contenido de mi vector
« en: 14 Agosto 2017, 01:24 am »

hola , muy  buenas  tardes  soy  nuevo  en el  lenguaje  c++
y  se me presento el siguiente  problema,  
cree una  clase que se  llama  orden  en la  cual  valga  la redundancia quiero  ordenar  un vector   que  ya  esta  con 5  posiciones llenas
el  problema  es que al imprimirlo no  me  muestra  los numeros  solo me muestra el mensaje  de  los printf.
de ante  mano muchas  gracias  

aqui el  codigo

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  4. class orden{
  5. private:
  6. int tam, i , j , aux;
  7. int vec[5];
  8. public:
  9. void ordenar(int*,int, int , int , int );
  10. void imprimir(int*);
  11. };
  12. void orden::imprimir(int vector1[]){
  13. int i;
  14. vec[5]=vector1[5];
  15. for(i=0;i<5;i++){
  16. printf("arreglo sin orden = \n" , vec[ i ]);
  17. }
  18. }
  19.  
  20. void orden::ordenar(int vector[],int tamano, int indice1, int indice2 , int auxiliar ){
  21. int tam=tamano;
  22. vec[5]=vector[5];
  23. i=indice1;
  24. j=indice2;
  25. aux=auxiliar;
  26. for(i=0;i<=5;i++){
  27. printf("arreglo sin orden = \n" , vec[i]);
  28. }
  29. for(i=1;i<=5;i++){
  30. for(j=0;j<=5;j++){
  31. if(vec[j]<vec[i]){
  32. aux=vec[j];
  33. vec[j]=vec[i];
  34. vec[i]=aux;
  35. }
  36. }
  37. }
  38.  
  39. for(i=0;i<=5;i++){
  40. printf("arreglo ordenado = \n" , vec[i]);
  41. }
  42. }
  43.  
  44. int main() {
  45. int vector[5]={5,4,3,2,1};
  46. orden obj;
  47. obj.ordenar(vector,5,0,0,0);
  48. obj.imprimir(vector);
  49. system("pause");
  50. return 0;
  51. }


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 14 Agosto 2017, 01:29 am por lebr123 » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: no me muestra el contenido de mi vector
« Respuesta #1 en: 14 Agosto 2017, 01:32 am »

procura no mezclar c y c++

Código:
#include <stdio.h>

es C, en tal caso es cstdio (sin .h)

el printf no imprime el numero porque no le indicaste que imprimiera el numero
Código
  1. printf("arreglo sin orden = \n" , vec[i]); // tu codigo
  2.  
  3. //como debe ser
  4. printf("arreglo sin orden = %d \n" , vec[i]); //%d indica entero


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
lebr123

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: no me muestra el contenido de mi vector
« Respuesta #2 en: 14 Agosto 2017, 02:22 am »

vale  muchas  gracias   por  la  ayuda .
pero  ahora  cuando imprimo  me  aparecen números  que no tienen nada  que  ver he  buscado  por  otras  partes  pero  no  he  encontrado la  solución
y  tampoco se  como  subir  el pantallazo jajajjajajajja para  que lo puedan ver    perdon por  la ignorancia  :( :( :( :xD  
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: no me muestra el contenido de mi vector
« Respuesta #3 en: 14 Agosto 2017, 03:42 am »

Por partes:
Código
  1. vec[5]=vector[5];
Si con eso pretendes copiar un vector en el otro, no puedes hacerlo así. Tienes que copiar elementoa  elemento. Es por eso que quizás te saldrá basura.

Luego, tienes los bucles for con "i<=5". Tiene que ser "i<5". No puedes acceder a vec[5], ya que el último índice es 4. Del 0 al 4.

Por último, la clase en sí no tiene mucho sentido. Ordenar recibe un vector y lo ordena en su propio array. Luego, Imprimir recibe otro vector y lo imprime. Entonces, ¿para qué sirve "vec"?
En línea

lebr123

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: no me muestra el contenido de mi vector
« Respuesta #4 en: 14 Agosto 2017, 03:59 am »

gracias por responder
la  idea  en si  es que  el vector  que tengo  en main ordenarlo en el  metodo  ordenar  pero  se que hay  algo mal hay  y  la  verdad  he  buscado  y no  encuentro  la  solucion  quisiera  saber  como pasar  todo  ese  vector de  main  al  metodo  ordenar  y  lo imprima  ordenado  estoy  confundido  con el  tema  de  vectores  la  verdad
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: no me muestra el contenido de mi vector
« Respuesta #5 en: 14 Agosto 2017, 04:00 am »

Elt ema copiar, lo dicho, con un for y copias elementoa  elemento.

Luego, ¿cuál es la diferencia actualmente entre tu clase y tener 2 funciones por separado sin más? Ninguna.
Así que el tema es, ¿realmente quieres la clase? ¿Qué problema habría con tener una función "ordenar" y una función "imprimir"?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
vector < vector<int> > ?
Programación C/C++
bemone 3 2,470 Último mensaje 24 Agosto 2012, 05:50 am
por BlackZeroX
Jquery y autocomplete .. muestra contenido de tbl pero no filtra. ayuda
Desarrollo Web
Hadess_inf 1 3,499 Último mensaje 26 Octubre 2012, 10:53 am
por #!drvy
Vector i*8+j
Programación C/C++
JohnMcb 1 1,569 Último mensaje 3 Mayo 2013, 17:56 pm
por rir3760
Muestra en consola el nombre de la variable, no su contenido
.NET (C#, VB.NET, ASP)
Meta 2 2,506 Último mensaje 5 Marzo 2023, 02:50 am
por Meta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines