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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 ... 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 [179] 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 ... 219
1781  Programación / Java / Re: ARREGLOS en: 7 Febrero 2019, 03:06 am
Saludos,

- Los Arrays multidimensionales tienen su complejidad y más si se trata de ir construyéndolos a medida de que avanza el programa ...

int[][][] fabrica;
    ^ ^ ^--------- datos del empleados, salario y horas
    ^ ^----------- empleados
    ^------------- talleres


- Te recomiendo leer este e-book gratuito en español: Estructuras Básicas de Datos en Java (Array y String), en el él se explica la teoría de los Array, como funcionan y como se implementan. Cubre Arrays Unidimensionales y Multidimensionales:
http://jorgesanchez.net/manuales/viejos/fpr/fpr0509.pdf

- Te sugiero revisar este avance y complementarlo para acabar con tu ejercicio:

Código
  1. import java.util.Scanner;
  2.  
  3. public class Fabrica {
  4.  public static void main(String[] args) {
  5.    Scanner scanner = new Scanner(System.in);
  6.  
  7.    int[][][] fabrica;
  8.    int nTalleres; // Una fabrica tiene n cantidad de talleres
  9.    int nEmpleados; // Un taller tiene una n cantidad de empreados
  10.    int salario; // salario por hora de un empleado
  11.    int horas; // horas trabajadas a la semana de un empleado
  12.  
  13.    System.out.print( "\nIndique la cantidad de talleres: " );
  14.    nTalleres = scanner.nextInt();
  15.  
  16.    fabrica = new int[nTalleres][][]; // fabrica tiene n cantidad de talleres
  17.  
  18.    for ( int taller = 0; taller < nTalleres; taller++ ) {
  19.      System.out.print( "\n\tTaller: " + (taller + 1) );
  20.      System.out.print( "\n\tIndique la cantidad de empleados: " );
  21.      nEmpleados = scanner.nextInt();
  22.      fabrica[taller] = new int[nEmpleados][]; // taller tiene n cantidad de empleados
  23.  
  24.      /** Llena Empleados */
  25.      for ( int empleado = 0; empleado < nEmpleados; empleado++ ) {
  26.        System.out.print( "\n\t\tEmpleado: " + (empleado + 1) );
  27.        System.out.print( "\n\t\tIndique el salario por hora: ");
  28.        salario = scanner.nextInt();
  29.        System.out.print( "\t\tIndique la cantidad de horas trabajadas en la semana: ");
  30.        horas = scanner.nextInt();
  31.        System.out.println( "\t\tTotal salario semanal: " + (salario * horas) );
  32.        fabrica[taller][empleado] = new int[2];
  33.        fabrica[taller][empleado][0] = salario;
  34.        fabrica[taller][empleado][1] = horas;
  35.      }
  36.    }
  37.  
  38.    /** Muestra nonimas */
  39.    System.out.println( "\n..:: IMPRIMIENDO NOMINA ::.." );
  40.    for ( int taller = 0; taller < fabrica.length; taller++ ) {
  41.      System.out.println( "Taller " + (taller + 1) );
  42.      for ( int empleado = 0; empleado < fabrica[taller].length; empleado++ ) {
  43.        System.out.println( "\tEmpleado: " + (empleado + 1) );
  44.        System.out.println( "\t\tSueldo por hora: " + fabrica[taller][empleado][0]);
  45.        System.out.println( "\t\tHoras trabajas en la semana: " + fabrica[taller][empleado][1]);
  46.      }
  47.    }
  48.  
  49.  }
  50. }

Código:
C:\Users\EdSon\Desktop>javac Fabrica.java && java Fabrica

Indique la cantidad de talleres: 2

        Taller: 1
        Indique la cantidad de empleados: 2

                Empleado: 1
                Indique el salario por hora: 15
                Indique la cantidad de horas trabajadas en la semana: 10
                Total salario semanal: 150

                Empleado: 2
                Indique el salario por hora: 10
                Indique la cantidad de horas trabajadas en la semana: 5
                Total salario semanal: 50

        Taller: 2
        Indique la cantidad de empleados: 1

                Empleado: 1
                Indique el salario por hora: 20
                Indique la cantidad de horas trabajadas en la semana: 8
                Total salario semanal: 160

..:: IMPRIMIENDO NÓMINA ::..
Taller 1
        Empleado: 1
                Sueldo por hora: 15
                Horas trabajas en la semana: 10
        Empleado: 2
                Sueldo por hora: 10
                Horas trabajas en la semana: 5
Taller 2
        Empleado: 1
                Sueldo por hora: 20
                Horas trabajas en la semana: 8

C:\Users\EdSon\Desktop>

1782  Programación / Programación C/C++ / Re: DUDA QUE SIGNIFICA ESTO? en: 7 Febrero 2019, 00:16 am
Saludos,

- Creo yo que lo mejor es recomendarle un libro sencillo que se pueda leer y comprender eso y más, yo siempre suelo recomendar este que es gratuito, en español y fácil de entender:
https://openlibra.com/es/book/fundamentos-de-programacion-con-el-lenguaje-de-programacion-c-ed-2017

-- En la página 106 puedes ver la teoría ejemplificada del manejo de Entrada de Datos desde Ficheros de Texto usando ifstream (input file stream | flujo de entrada de datos desde ficheros)
1783  Programación / Programación General / Re: automatizar programa en: 5 Febrero 2019, 07:47 am
Saludos,

- Dependerá del programa, lo más común es crear Macros con AutoHotKey o AutoIt. Algunos programas tienes opciones por línea de comandos o ficheros de configuración, etc.
1784  Informática / Hardware / Re: Disco duro Externo no Reconocido- AYUDA en: 5 Febrero 2019, 04:19 am
- El Diskpart Clean básicamente no elimina nada, solo la tabla de particiones, recuerda que yo he hecho lo mismo en mi experimento que comenté antes y recuperé todo con TestDisk.

-- Sin embargo te recomendaría utilizar primero TestDisk tal como he descrito anteriormente, además la verdad TestDisk y PhotoRec son muchísimo más fiables que recuva, la diferencia es que recuva es "más bonito" y fácil de usar.

-- En raras ocasiones he visto que un Disco Resucita así, sin embargo yo haría BackUp y marcaría el Disco como "no confiable"
1785  Programación / Programación C/C++ / Re: Es posible usar ( como expresion regular? c++ <regex> en: 4 Febrero 2019, 17:17 pm
- Lee el libro que recomendé arriba, por ejemplo en javascript sería así:

Código
  1. var str = "A : in XXX (31 downto 0);"
  2. var mat = (/\bin (\w+) \((\d+)/g).exec(str);
  3. console.log("Valor de xxx: " + mat[1]);
  4. console.log("Valor (num): " + mat[2]);

Código
  1. Valor de xxx: XXX
  2. Valor (num): 31
1786  Programación / Desarrollo Web / Re: ¿Como se puede hacer un diseño web NO responsive? en: 4 Febrero 2019, 16:58 pm
Saludos,

- Empezando por quitar la línea:

Código
  1. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
1787  Programación / Scripting / Re: Como ejecuto estas lineas en mi PC. en: 4 Febrero 2019, 04:18 am
- Basta con deshabilitarlas, luego cuando quieres hacer tu Optimización vas, los habilitas todos y ejecutas uno a uno, en mi caso he tenido que empezar desde el último al primero (primero los critical) porque me daba error al intentar iniciar los primeros, supongo que es porque nunca los había ejecutado. Al final los deshabilitas, que yo sepa nunca se vuelven a habilitar solos, se tiene que hacer a mano.
1788  Programación / .NET (C#, VB.NET, ASP) / Re: Menús en modo consola en: 4 Febrero 2019, 00:10 am
Saludos,

- Mmm, interesante, basta que injertes el siguiente IF:

Código
  1.      //leer tecla ingresada por el usuario
  2.        tecla = Console.ReadKey(true).Key;
  3.  
  4.        if ( tecla == ConsoleKey.Enter) {
  5.          do {
  6.            Console.Clear();
  7.            Console.WriteLine( "Usted a elegido la opcion: " + contador );
  8.            Console.Write( "Presione Escape regresar al menu" );
  9.          } while ( Console.ReadKey(true).Key != ConsoleKey.Escape );
  10.        }
  11.  
  12.      //validar el tipo de tecla
  13.        if (tecla == ConsoleKey.DownArrow) {

- Por cierto, a mí no me reconoce los extraños caracteres que utilizas para dibujar el recuadro, he tenido que recurrir a Unicode: https://en.wikipedia.org/wiki/Box-drawing_character
1789  Programación / Programación C/C++ / Re: Existe algun comando para leer y guardar el valor de un fichero en C? en: 3 Febrero 2019, 19:48 pm
Saludos,

- Me ha ayudado enormemente este e-book gratuito en español:
https://openlibra.com/es/book/introduccion-a-la-programacion-con-c-3

- En mi caso lo he hecho con puro Array (muestro extracto):

Código
  1. #define MAX_FILAS   50
  2. #define TAM_FECHA   11
  3. #define TAM_NOMBRE  50
  4.  
  5. int main() {
  6.  
  7.  char fechas[MAX_FILAS][TAM_FECHA];
  8.  int  puntajes[MAX_FILAS];
  9.  char nombres[MAX_FILAS][TAM_NOMBRE];

- Para leer los datos del fichero, me pareció más cómodo hacerlo con fscanf (muestro estracto):

Código
  1.  printf("Fichero leido: \n");
  2.  
  3. /* Lee el fichero y guarda los registros */
  4.  while ( feof(file) == 0 ) {
  5.    fscanf(file, "%s%d%s", fechas[cont], &puntajes[cont], nombres[cont]);
  6.    printf("%s | %d | %s\n", fechas[cont], puntajes[cont], nombres[cont]);
  7.    cont++;
  8.  }
  9.  fclose(file);

- Una vez se tenga todo guardado el los Array (un lío que C no tenga un tipo string :xD) se procede a ordenarlo, en el e-book está el método de ordenamiento Burbuja ejemplificado, se tiene que hacer uso de Arrays auxiliares y eso. Pero no se pueden copiar Array a otro Array directamente, se tiene que usar strncpy(array_destino, array_origen, cantidad_de_elementos), esto también está teorizado y ejemplificado en el e-book, muestro extracto que solo ordena el puntaje y la fecha, también debes ordenar el nombre:

Código
  1. /* Ordenacion mediante metodo Burbuja*/
  2.  for ( int i = 0; i < cont - 1; i++ ) {
  3.    for ( int j = 0; j < cont - 1; j++ ) {
  4.      if ( puntajes[j] < puntajes[j + 1] ) {
  5.        strncpy(aux_fechas, fechas[j], TAM_FECHA);
  6.        aux_puntajes = puntajes[j];
  7.  
  8.        strncpy(fechas[j], fechas[j + 1], TAM_FECHA);
  9.        puntajes[j] = puntajes[j + 1];
  10.  
  11.        strncpy(fechas[j + 1], aux_fechas, TAM_FECHA);
  12.        puntajes[j + 1] = aux_puntajes;
  13.      }
  14.    }
  15.  }

- Al final solo queda mostrar los resultados que piden, cantidad de líneas leídas (cant), puntaje más alto (puntajes[0]) y usar un FOR para mostrar todos los registros ordenados, muestro salida del programa ordenado:

Código
  1. C:\Users\EdSon\Desktop>type read_file.txt
  2. 3-2-2019   21000      NOMBRE
  3. 3-2-2019   39000      NOMBRE
  4. 3-2-2019   18000      NOMBRE
  5. C:\Users\EdSon\Desktop>gcc read_file.c -o read_file.exe && read_file.exe
  6. Fichero leido:
  7. 3-2-2019 | 21000 | NOMBRE
  8. 3-2-2019 | 39000 | NOMBRE
  9. 3-2-2019 | 18000 | NOMBRE
  10.  
  11. Total lineas leidas: 3
  12. Puntaje mas alto: 39000
  13. Fichero ordenado:
  14. 3-2-2019 | 39000 | NOMBRE
  15. 3-2-2019 | 21000 | NOMBRE
  16. 3-2-2019 | 18000 | NOMBRE
  17.  
  18. C:\Users\EdSon\Desktop>
  19.  

- Ahora solo te toca encajar todo el código y listo (buen ejercicio) :P
1790  Informática / Hardware / Re: Disco duro Externo no Reconocido- AYUDA en: 3 Febrero 2019, 18:04 pm
- Si ni siquiera aparece la capacidad del Disco Duro ... puede ser daño físico. Recomendaría enviarlo a una empresa especializada en recuperación de datos, claro que tiene su buen costo, dependerá del valor de la data que tengas en él.

- Por otro lado puedes intentar con software privativo como ya mencioné arriba Easeus, u otro que recomienden.
Páginas: 1 ... 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 [179] 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 ... 219
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines