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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ayuda Con Problema en Dev-C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Con Problema en Dev-C++  (Leído 1,838 veces)
JADP

Desconectado Desconectado

Mensajes: 34



Ver Perfil
Ayuda Con Problema en Dev-C++
« en: 9 Octubre 2013, 18:54 pm »

Buenos días, el algoritmo que quiero hacer es ingresar 6 números y que al final de ingresar los números me imprima los números que fueron mayores o iguales a 0 y menores o iguales a 9.  En el ejercicio que estoy haciendo estoy almacenando en un vector los números que cumplen con la condición, para al final imprimirlos, pero cuando ejecuto el programa e ingreso los números no me imprime algunos números que están repetidos.


Código:
#include <iostream>
#include <conio.h>

using namespace std;

int numero, vect[10], a=0;

void uno()
{
for(int i=1;i<=10;i++)
{
cout<<"Ingrese el "<<i<<" numero : ";
cin>>numero;

if (numero>=0)
{
if (numero<=9)
{
vect[i] = numero;
a=a+1;
}
}
}

for(int i=1;i<=a;i++)
{
cout<<vect[i];
}
}

int main(int argc, char** argv) {
uno();
}

El programa esta hecho con la versión 5.5.1 de Dev - C++.

Agradezco Sus Ayudas.


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda Con Problema en Dev-C++
« Respuesta #1 en: 9 Octubre 2013, 20:33 pm »

En primer lugar, un error grave:
Código
  1. for(int i=1;i<=10;i++)
  2. vect[i] = numero;
Un vector como ese, inicializado como "vect[10]": su primer elemnto es el 0, no el 1. Y el elemento 10 es el 9.

Segundo fallo:
Código
  1. vect[i] = numero;
  2. a=a+1;
  3. ...
  4. for(int i=1;i<=a;i++)
Ahi cada vez que consigues un número, aumentas 'a'. Luego recorres el vector por 'a' elementos (PD: aqui tienes el mismo fallo que comenté antes, sobre empezar por 0).
Ejemplo: Entrada del vector: {1,vacio,vacio,5,8,0,8,vacio,vacio,8}
'a' es igual a 6.
Salida: 1, vacio, vacio, 5, 8, 0. El resto no aparece.

Yo te recomendaría guardar TODA la entrada en el vector. La condición la pones cuando vayas a mostrar la salida.


En línea

JADP

Desconectado Desconectado

Mensajes: 34



Ver Perfil
Re: Ayuda Con Problema en Dev-C++
« Respuesta #2 en: 10 Octubre 2013, 00:42 am »

Gracias por la ayuda ivancea96; hice las correcciones que tu dijiste pero todavía tengo un problema y agradecería que me ayudaras, cuando ingreso números repetidos que cumplen con la condición , al final, al imprimir todos los números que cumplieron con la condición y están almacenados en el vector, los imprime mal, imprime otros números o imprime el 0.



Código:
#include <iostream>

using namespace std;

int numero[10], vect[10], a;

void uno()
{
for(int i=0;i<10;i++)
{
cout<<"Ingrese el "<<i+1<<" numero : ";
cin>>numero[i];
}

for(int i=0;i<10;i++)
{
if (numero[i]>=0)
{
if (numero[i]<=9)
{
vect[i] = numero[i];
a=a+1;
}
}
}

cout<<endl;
for(int i=0;i<a;i++)
{
cout<<vect[i];
cout<<endl;
}
}

int main(int argc, char** argv) {
uno();
}
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda Con Problema en Dev-C++
« Respuesta #3 en: 10 Octubre 2013, 15:25 pm »

   
Código
  1. for(int i=0;i<a;i++)
  2. {
  3. cout<<vect[i];
  4. cout<<endl;
  5. }
Corregiste el error de los vectores, pero el fallo del algoritmo sigue ahí.

Lo que dije antes, 'a' guarda el numero de veces que se puso un numero bien. Pero sigues guardando en el vector cada numero en senda casilla. Deberías guardarlos todos seguidos. perdona si no me consigo expresar bien xD

Te propongo un código:
Código
  1. a=0;
  2. for(int i=0;i<10;i++)
  3. {
  4. if (numero[i]<=9 && numero[i]>=0)
  5. {
  6. vect[a] = numero[i];
  7. a++;
  8. }
  9. }

Lo hice así algo rápido ahora, pero pruébalo a ver.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con un problema...
Java
Zero_1 5 4,184 Último mensaje 30 Noviembre 2007, 13:39 pm
por Zero_1
[Ayuda] Problema con un bat. « 1 2 »
Scripting
washanwer 11 5,997 Último mensaje 9 Julio 2008, 06:45 am
por washanwer
Ayuda con problema en C
Programación C/C++
Pantuflo 5 2,920 Último mensaje 11 Mayo 2010, 16:41 pm
por Ari Slash
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines