Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: alfonsopf95 en 7 Abril 2014, 05:40 am



Título: Arreglos c++
Publicado por: alfonsopf95 en 7 Abril 2014, 05:40 am
/*2.5 Programa que genera un arreglo de 10 elementos rellenados con valores aleatorios del 1 al 10 y permita al usuario jugar
3 veces a elegir que numero de elemento desea tratar de adivinar y le imprime si acerto o erro en si seleccion(mostrando tambien
el numero que estaba en este elemento)*/


No se como hacerle para que el numero que digite el usuario se comparee con los numeros que ya contiene el arreglo y imprima si es correcto o se equivoco y si se esquivoco imprimir  numero qe es. Aqui esta el codigo que llevo
#include<stdio.h>
#include<conio.h>
#include<time.h>
main()
{
      int i,n,p;
     
      srand(time(NULL));
     
      int a[10];
     
       for(i=0; i<10; i++){
       a=((rand()%10)+1);
       printf("\nArreglo %d : %d",i, a);
       }
   
     
      printf("\n\nAdivina el numero tienes 3 intentos escribiendo la posicion a[0]-a[9]");
      for(i=1; i<=3; i++){
               printf("\n\nDame la posicion y el numero: Intento %d a[  ] = ",i);
               scanf("%d",&n);
               printf("Dame el numero que crees que tenga: ");
               scanf("%d",&p);
               
               
               a[n]==p==a;
               
               if(a[n]=p==a){
                                printf("\nAcertaste ");
                                }
                                else{
                                     printf("\nError : %d",a);
                                     }}
      getche();
      }


Título: Re: Re: Arreglos c++
Publicado por: F3niX14 en 7 Abril 2014, 08:45 am
Amigo después de solicitar el número al usuarío debes compararlo con cada elemento de tu arreglo para eso ejecuta otro ciclo dentro del for de solicitud . Hay te dejo esa pista.

saludos


Título: Re: Arreglos c++
Publicado por: rir3760 en 7 Abril 2014, 15:22 pm
No se como hacerle para que el numero que digite el usuario se comparee con los numeros que ya contiene el arreglo y imprima si es correcto o se equivoco y si se esquivoco imprimir  numero qe es.
Cuando publiques código fuente por favor utiliza las etiquetas de código. Estas se agregan mediante el cuadro desplegable con el texto "GeSHi" en la pagina de composición de mensajes, solo tienes que seleccionar ahí el lenguaje (C, C++, etc.).

----

Lo primero que debes hacer es evitar el uso de la biblioteca conio de Borland y cambiar la definición de la función main a "int main(void) ..." o "int main() ...". Las razones de ello en la pagina |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html).

Antes de utilizar las funciones srand y rand debes incluir <stdlib.h>. El error principal se debe a la condición de la sentencia "if" dentro del bucle:
Código
  1. if (a[n] == p == a[i]) {
No es correcta, hay que cambiarla a:
Código
  1. if (a[n] == p) {

Por ultimo hay que eliminar la sentencia:
Código
  1. a[n] == p == a[i];
Ya que no tiene efecto.

Un saludo