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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 [3]
21  Programación / Java / Problema repetición de números en: 21 Febrero 2015, 02:08 am
Hola amigos, tengo un problema. Un profesor nos ha mandado "jugar la lotería" con un boleto que siempre contiene los mismos números (los números van entre 1 y 49). Entonces su intención es averiguar el número de dias, meses, etc que se tarda en realizar n coincidencias (máximo 6 coincidencias). Entonces, mi problema reside en la comparación de número random generado y los que ya tengo en el vector. He probado mil métodos y no doy con el adecuado, si me pudiérais ayudar os lo agradezco.

Código
  1. package sorteo;
  2. import java.util.Random;
  3. import java.util.Scanner;
  4.  
  5. public class Sorteo {
  6.  
  7.  
  8.    public static void main(String[] args) {
  9.  
  10.        int i,j,contador = 0,semanas=0,n;
  11.  
  12.        int numeros[]=new int[6];
  13.        int boleto[]=new int[6];
  14.        Scanner s= new Scanner(System.in);
  15.        System.out.println("Dame número de coincidencias");
  16.        n=s.nextInt();
  17.        //Boleto predefinido
  18.        boleto[0]=1;
  19.        boleto[1]=3;
  20.        boleto[2]=15;
  21.        boleto[3]=35;
  22.        boleto[4]=39;
  23.        boleto[5]=40;
  24. Random rnd=new Random();
  25.        //Generar números aleatorios
  26.        while(contador!=n){
  27.            semanas++;
  28.            contador=0;
  29.            for( i=0;i<6;i++){
  30.                int x=(int)(rnd.nextInt(49-1+1)+1);
  31.  
  32.                    if(i==0)//Sólo para la primera posición del vector
  33.                        numeros[i]=x;
  34.                    else{
  35.                        for(j=0;j<i;j++){
  36.                            if((numeros[j]!=x)){//Comparación de número generado con el del vector
  37.                                numeros[i]=x;
  38.  
  39.                            }
  40.                            else{
  41.                                i--;
  42.                                //j=6;
  43.                            }
  44.  
  45.                         }
  46.                    }          
  47.  
  48.  
  49.  
  50.        }
  51.            //Ver numeros del vector aleatorios
  52.        for(i=0;i<6;i++)
  53.            System.out.println(numeros[i]);
  54.            System.out.println("------------------------------------");
  55.  
  56.            //Comparar números del boleto aleatorio del fijo
  57.        for(i=0;i<6;i++){
  58.            for(j=0;j<6;j++){
  59.                if((boleto[i])==(numeros[j])) {
  60.                    contador++;
  61.                }
  62.  
  63.                }
  64.            }
  65.        //System.out.println("Contador"+contador);
  66.        }
  67.       // System.out.println("Contador"+contador);
  68.        System.out.println("Las semanas han sido: "+semanas);
  69.        double meses,años,siglos;
  70.        meses=semanas/4;
  71.        años=meses/12;
  72.        siglos=años/100;
  73.        System.out.println(meses+" meses");
  74.        System.out.println(años+" años");
  75.        System.out.println(siglos+" siglos");
  76.    }
  77.  
  78.    }
22  Programación / Programación C/C++ / Ayuda Programa con estructuras C en: 2 Diciembre 2014, 22:29 pm
Hola, quisiera saber si alguno me hace el favor de decirme en qué me he equivocado porque me estoy volviendo loco y no encuentro el motivo. El ejercicio es el siguiente:

Escribe un subprograma que muestre las asignaturas en las que se encuentra matriculado un alumno, al subprograma se le pasará como parámetro la lista de alumnos, y el dni del alumno del que se quiere mostrar sus datos. Escribe un ejemplo de llamada.

Bien, yo he hecho lo siguiente:

#include <stdio.h>
#include <stdlib.h>
void verDatos(struct lista la, char *cdni);

struct asignatura{
    char nombre[30];
    int creditos;
};
struct alumno{
    char nombre [30];
    char dni[10];
    struct asignatura matricula[12];
    int nsignaturas;
};
struct lista{
    struct alumno listadoAlumnos[100];
    int numero_real;
};
struct informe{
    int creditosTotales;
    int nalumnos;
};
struct lista listaAdmitidos={
    {
        {"juan","334g",{{"física",6}},1},
        {"maria","445h",{{"fisica",2},{"fundamentos1",6}},2},
        {"luis","145g",{{"fisica",6}},1},
        {"pedro","678p",{{"fisica",3}},1},
        {"lorena","745h",{{"fisica",6},{"fundamentos1",6}},2},
        {"pascual","554g",{{"fisica",6},{"calculo",6},{"dibujo",9}},3},        
    },
    6
};

int main(int argc, char** argv) {

  
}
void verDatos(struct lista la, char *cdni){
    int i,j;
    for(i=0;i<la.numero_real;i++){
        if(strcmp(la.listadoAlumnos.dni,cdni)==0){
            for(j=0;j<la.listadoAlumnos.nsignaturas;j++){
                printf("Asignatura: %s\n",la.listadoAlumnos.matricula[j].nombre);
            }
        }
            
    }
  
    
      
}

Me da error en el subprograma como conflicto en verDatos.

Muchas gracias de antemano por leer tanto rollo.
Páginas: 1 2 [3]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines