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


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6
21  Programación / Java / Re: Ayuda con ordenamiento de nombres y numeros en: 2 Abril 2016, 23:44 pm
Perdona que no te haya respondido antes.
Código:
static void mergeSort(int[] A) {
        if (A.length > 1) {
            int q = A.length/2;
            int[] leftArray = new int[q];
            for(int i = 0; i < q;++i){
                leftArray[i]=A[i];
            }
            int[] rightArray = new int[A.length - q];
            for(int i = q; i < A.length; ++i){
                rightArray[i-q]=A[i];
            }

            mergeSort(leftArray);
            mergeSort(rightArray);

            merge(A,leftArray,rightArray);
        }
    }

    static void merge(int[] a, int[] l, int[] r) {
        int totElem = l.length + r.length;
        int i,li,ri;
        i = li = ri = 0;
        while ( i < totElem) {
            if ((li < l.length) && (ri<r.length)) {
                if (l[li] < r[ri]) {
                    a[i] = l[li];
                    i++;
                    li++;
                }
                else {
                    a[i] = r[ri];
                    i++;
                    ri++;
                }
            }
            else {
                if (li >= l.length) {
                    while (ri < r.length) {
                        a[i] = r[ri];
                        i++;
                        ri++;
                    }
                }
                if (ri >= r.length) {
                    while (li < l.length) {
                        a[i] = l[li];
                        li++;
                        i++;
                    }
                }
            }
        }
    }

Este algoritmo, merge sort ordena un int[] del tamaño que sea de menor a mayor.
Si puedes usar alguna libreria, si haces import java.util.Arrays, tienes la opción de usar la función Arrays.sort(Object[] A).
22  Programación / Java / Re: Ayuda con ordenamiento de nombres y numeros en: 2 Abril 2016, 17:08 pm
Si no he entendido mal quieres ordenar las notas de cada alumno que tienes dentro de 3 arrays diferentes (practicas,trabajos,examenUnidad,notaunidad)?
El algoritmo buble sort (burbuja) es el algoritmo de ordenación más ineficiente de todos :P
23  Programación / Java / Re: Ayuda!!! comparar que no se repita ningun numero en el array (Java) en: 2 Abril 2016, 12:22 pm
Échale un vistazo a mi mensaje anterior que lo he modificado. Lo que tiene no conocer las reglas del bingo :P
24  Programación / Java / Re: Ayuda!!! comparar que no se repita ningun numero en el array (Java) en: 2 Abril 2016, 12:11 pm
Hola! Puedes hacer un array de 91 posiciones e ir comparando.
Código:
int rnum;
           int rnum;
           int cont = 0;
           int[] repetidos = new int [90];
           for(int i = 0; i < 90; ++i){
               repetidos[i] = 0;
           }
            while(cont<90){
                rnum = (int) (Math.random()*90 +1);
                System.out.println(rnum);
                if(repetidos[rnum-1]== 0){
                    repetidos[rnum-1]=1;
                    ++cont;
                }
                }
            }

Habia puesto 100 porque creía que había 100 posiciones y que el 0 estaba :P. Te modificio el código para que sea correcto
25  Programación / Ejercicios / Re: 100 primeros primos [C++] en: 2 Abril 2016, 10:37 am
Si no quieres almacenar solo los numeros primos no es necesario crear aux de n+1 posiciones. Lo importante son los dos fors que solos calculan los numeros que NO son primos.

Código:
vector <bool> Erastotenes(int n) {
vector <bool> aux(n + 1, true); //vector donde marca si un numero es primo o no
for (int i = 2; i*i <= n; ++i) {
for (int j = 2*i; j < aux.size(); j = j + i) {
aux[j] = false;
}
}
return aux;
}
26  Programación / Java / Re: Como eliminar la casilla de un arreglo en java? en: 1 Abril 2016, 23:53 pm
Si claro!
Supongamos que tienes que hacer un printe del total y tienes lo siguiente:
Código:
int MAX_SIZE = 30;
        int[] oc = new int[MAX_SIZE]; //Este lo usaremos para saber si una posición está o no ocupada.
        for(int i = 0; i < MAX_SIZE; ++i) oc[i] = -1; //-1 querra decir que la posición no ha sido ocupada.
        String[] name = new String[MAX_SIZE];
        int[] age = new int[MAX_SIZE];
        double[] height = new double[MAX_SIZE];
        
        for(int i = 0; i < MAX_SIZE; ++i){
            if(oc[i] != -1){
                System.out.println("Nombre: " + name[i]);
                System.out.println("Edad: " + age[i]);
                System.out.println("Altura: " + height[i]);
            }
        }

Si usas este metodo, usando oc para conocer si una posición ha sido usada o no, acuerdate que al dar de baja o al dar de alta, tienes que poner la posicion correspondiente un 0 o un -1.
Para hacer el caso del mostrar por nombre, en la condición de dentro del for, tendrías que añadir
Código:
 
if(oc[i] != -1 && name[i] == nombre)
donde nombre es el nombre que el usuario introduce.

Pruebalo, si tienes cualquier pregunta no dudes en hacérnosla saber.
27  Programación / Java / Re: Como eliminar la casilla de un arreglo en java? en: 1 Abril 2016, 23:20 pm
Buenass!!!
Te has planteado usar ArrayLists? O tenéis restricción de que estructuras de datos podéis usar?
Si no, siempre puedes modificar las estructuras para que contengan un valor imposible, si lo contienen a la hora de mostrar no se mostrarian.
Para hacer un cambio, después de conocer el número de registro tienes que modificar la posición de cada vector dependiendo de la opción que haya elegido para modificar.
Me explico si el usuario elige el registro r=1 y la opcion nombre tendras que hacer nombre[r] = sc.nextLine();

Para las consultoras tendras que hacer un print de todos los vectores que tienes en el caso del total.
Por otra parte, si se elige por nombre, necesitaras un condicional para ver si la posición que estas consultando contiene o no el nombre que ha introducido el usuario. Si coinciden tendras que sacar por pantalla los datos.

En ambos casos necesitas recorrer de principio a fin los vectores.
28  Programación / Programación C/C++ / Re: Frame y dirección de memoria. en: 1 Abril 2016, 19:26 pm
Código:
allocate_DIR((struct task_struct*)child);
page_table_entry * PTc = get_PT((struct task_struct*)child);
page_table_entry * PTd = get_PT((struct task_struct*)dad);
 
 
for(i = 0; i < 256+8+20;++i){
    set_ss_pag(PTc, i,get_frame(PTd,i));
}
   
for( i = 264; i < 264+20; ++i){
    int f = alloc_frame(); //Agafem el frame lliure
    if(f == -1) return -5;
    set_ss_pag(PTd, (unsigned)i+500,f); //Assignem a la taula de pàgines del pare la traducció.
    set_ss_pag(PTc,(unsigned)i,f);          //Igualment per al fill.
   copy_data(((unsigned int)(get_frame(PTd,i)<<12)),((unsigned int)(f)<<12),4096);
  }

Así es el código, el error está en el segundo parametro que nos da page fault.
29  Programación / Programación C/C++ / Frame y dirección de memoria. en: 1 Abril 2016, 17:37 pm
Código:
   int f = alloc_frame();
   if(f == -1) return -1;
    copy_data((unsigned int)f<<12,0x00,4096);

alloc_frame() devuelve el numero de frame que está libre, sabiendo que el frame es de 4096B, necesito copiar eso a la pos 0x00 de memoria.

Código:
void copy_data(void *start, void *dest, int size)
Esta es la cabecera de copy_data.

Alguna idea de como lo puedo hacer? Me da un page_fault si pongo como dirección a copiar f*4096. Si pongo a mano la dirección me funciona perfectamente.
30  Programación / Java / Re: Visualizar registros en un table de formulario utilizando NetBeans. en: 1 Abril 2016, 00:22 am
Donde haces la conexion con la Base de Datos?
Código:
String sql = "select * from racestatus";
cn = db.getConnection();
PreparedStatement st1 = cn.prepareStatement(sql);
ResultSet rs = st1.executeQuery();

Las dos ultimas lineas serian las que a ti te interesan, pero necesitas tener la conexión creada. Podrías decirnos que error te da?
Páginas: 1 2 [3] 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines