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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ... 102
261  Programación / Java / Re: Obtener nombre y código - Java/Netbenas en: 14 Octubre 2020, 01:35 am
Este código está bastante revuelto. Algunas de las cosas que veo a primera vista son:
  • Instancias de objetos que no se utilizan nunca. Creas objetos usando el constructor sin parámetros para luego llamar a otro constructor con parámetros.
  • Cada vez que llamas a ciertos métodos creas nuevas instancias de algunas clases cuando parece que esas instancias ya tendrían que existir.
  • Llamas a métodos de una clase pasando como parámetro el mismo objeto que llama al método. Esto es innecesario.

Deberías reorganizar tu código antes de seguir pues cada vez será más complicado corregirlo.

Pero yendo al grano, tienes que tener un sitio donde guardes todas las ventas. Pues lo que tienes que hacer es:
Código:
PARA CADA empleado DE empleadosTotales HACER
  cantidadVendida := 0
  PARA CADA venta DE ventasTotales HACER
    SI venta.codigoEmpleado == empleado.codigo ENTONCES
      cantidadVendida += venta.cantidad
    FIN SI
  FIN PARA
  SI cantidadVendida == cantidadBuscada ENTONCES
    // Aqui haces lo que quieras con ese empleado
  FIN SI
FIN PARA

El código se puede optimizar haciendo que deje de acumular si ya nos hemos pasado de la cantidad a buscar y cosas similares pero esta es la versión más simple y más fácil de entender.
Lo anterior es pseudocódigo, es decir, los pasos que tienes que seguir para lo que quieres hacer. Ahora tienes que implementar esa idea en lenguaje Java.
262  Programación / Programación C/C++ / Re: matriz en C nose como encarar el ejercicio se agradece la ayuda en: 13 Octubre 2020, 18:08 pm
Se debe buscar el primer valor pasado dentro de la matriz en nuestro
ejemplo (elem) por fila y reemplazar por el otro valor pasado (elem2) como parámetro
Cuidado ya que tienes que cambiar el primer valor y la respuesta que te ha dado @UsuarioZ te cambiaría todos los valores que coincidan con ese. Tendrás que modificarlo un poco y eso te toca hacerlo a ti... :rolleyes:

Suerte.  :-X
263  Programación / Programación C/C++ / Re: Ayuda en resolver codigo en: 9 Octubre 2020, 15:37 pm
Las operaciones que realizas no tienen mucho sentido.

El punto que esté al norte y el que esté al sur, tendrán la misma coordenada X (llamémosla A).
El punto que esté al oeste y el que esté al este, tendrán la misma coordenada Y (llamémosla B).
El punto solución es: (A, B)
264  Programación / Programación C/C++ / Re: chdir() no funciona como pretendo en c en: 28 Septiembre 2020, 23:51 pm
Esto es porque estás llamando 2 veces a la función chdir(). Primero la llamas dentro de la condición del if() y después dentro del cuerpo.
Código
  1. int cddir(char *tr){
  2.  return chdir(tr);
  3. }
  4.  
  5. int main(){
  6.  //...
  7.  char tr[] = "..";
  8.  if(!cddir(tr)) printf("Error!! No existe el directorio %s", tr);
  9.  //...
  10. }
265  Programación / Programación C/C++ / Re: Problema pasar matriz por referencia a una función en C en: 27 Septiembre 2020, 23:25 pm
En el caso de utilizar la función:
Código
  1. int trocear(char cadena[], char trozos[][SIZE]);
tendrías que crear un puntero a char para usarlo en la función strtok y después copiar su contenido mediante strncpy().
Además lo suyo sería pasar como tercer parámetro el número de filas de <trozos> para evitar problemas de acceso en la función.
Código
  1. int trocear(char cadena[], char trozos[][SIZE], int filas){
  2.  int num_trozos = 0;
  3.  char *p = strtok(cadena, " \n\t");
  4.  while(p && num_trozos < filas){
  5.    strncpy(p, trozos[num_trozos], SIZE);
  6.    trozos[num_trozos++][SIZE-1] = '\0'; // para asegurar que cada trozo acaba con \0
  7.    p = strtok(NULL, " \n\t");
  8.  }
  9.  return num_trozos;
  10. }
266  Programación / Programación C/C++ / Re: Problema pasar matriz por referencia a una función en C en: 25 Septiembre 2020, 17:17 pm
Tienes varias opciones para hacer lo que quieres.

Si dejas la función trocear() tal y como la tienes, tienes que utilizar memoria dinámica:
Código
  1. #define SIZE 50
  2. int main(){
  3.    char *cadena = "Esta es una cadena de prueba";
  4.    // Array bidimensional [SIZE][SIZE] con memoria dinamica:
  5.    char **palabras = (char**)malloc(SIZE * sizeof(char*));
  6.    for(size_t i = 0; i < SIZE; ++i){
  7.        palabras[i] = (char*)malloc(SIZE * sizeof(char));
  8.    }
  9.    int numero_palabras = trocear(cadena, palabras);
  10.    for(size_t i = 0; i < numero_palabras; ++i){
  11.        printf("Palabra %i: %s\n", i+1, palabras[i]);
  12.    }
  13.    // Al terminar tienes que liberar la memoria reservada dinamicamente
  14.    for(size_t i = 0; i < SIZE; ++i){
  15.        free(palabras[i]);
  16.    }
  17.    free(palabras);
  18. }

Si quieres usar un array de manera estática tienes que definir la función trocear() como:
Código
  1. int trocear(char *cadena, char palabras[][SIZE]);
(Es optativo especificar el tamaño de la primera dimensión de un array pero para el resto de dimensiones es obligatorio)
267  Programación / Programación General / Re: grado superior de desarrollo de aplicaciones multiplataforma en: 18 Septiembre 2020, 20:51 pm
Yo estoy cursando ese grado y te diría que si no tienes ningún conocimiento de informática/programación vas a tener que esforzarte bastante el primer año.
Te recomendaría que fueses mirando cosas por tu cuenta, sobre todo de Java. Al final esas bases que aprendas en Java te valdrán para cualquier otro lenguaje y es probable que el grado se imparta en Java también.

Además si sabes dónde quieres estudiarlo, puedes mirar el plan de estudios y así saber los contenidos del curso.

Que el curso sea bueno o malo no se puede decir de antemano. Es una cosa que depende mucho de los profesores que tengas y de los contenidos que veas y cómo los veas pero el grado en sí está bastante bien.
268  Programación / Programación C/C++ / Re: Colocar signos entre los datos de un array en: 15 Septiembre 2020, 12:16 pm
Otra posibilidad sería hacer el bucle hasta n-1 (dejando sin imprimir el último valor) para imprimir este último fuera del bucle.
Código
  1. for(int i = 0; i < size-1; ++i)
  2.  cout << numeros[i] << ", ";
  3. cout << numeros[size-1];
269  Programación / Programación C/C++ / Re: Ayuda con el siguiente código de promedio. en: 8 Septiembre 2020, 20:57 pm
Entiendo que la parte que tienes hecha funciona correctamente aunque te pongo un par de consejos:
  • No utilices la biblioteca <conio.h>. No es una biblioteca estándar y puede dar problemas en algunos sistemas. Para lo único que lo utilizas es para la función getch(); así que en su lugar puedes utilizar la función getchar(); que pertenece a <stdio.h>.
  • En vez de poner números directamente como el 10 en este caso, declara constantes. Esto hace que el código sea más fácil de modificar pues solo tendrás que cambiar el valor de la variable una vez y no cada vez que aparezca ese número:
Código
  1. #define SIZE 10
  2. int main(){
  3.  int array[SIZE]; // Array de longitud 10
  4. }

  • Para acumular una suma (o cualquier operación) en una misma variable puedes sustituir:
Código
  1. suma = suma + numero;
por:
Código
  1. suma += numero;

  • Solo utilizas el número de notas mayores al promedio por lo que no necesitas calcular cuántas son menores a este.


Y ahora tu problema: para mostrar la nota más alta necesitas recorrer el array completo e ir guardando la nota más alta. Para ello guardas en una variable <notaMayor> (por ejemplo) el contenido de <calificaciones[0]> y luego con un for() desde 1 hasta el último elemento, si <calificaciones[n]> es mayor que <notaMayor> pues guardas ese nuevo valor.

Para que te pregunte si hacer más operaciones necesitas un bucle do-while que suele ir acompañado en este caso con un menú (switch) con las opciones. Te pongo un ejemplo para que lo adaptes:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h> // Para la funcion rand()
  3.  
  4. #define SIZE 5
  5.  
  6. int main(){
  7.    int numeros[SIZE];
  8.    int opcion;
  9.    char repetir = '';
  10.    do{
  11.        printf("\nElige una opcion:\n - 1. Rellenar array\n - 2. Mostrar array\nOpcion: ");
  12.        scanf("%d", &opcion);
  13.  
  14.        switch(opcion){
  15.            case 1:
  16.                for(int i = 0; i < SIZE; ++i) // Usando SIZE puedes cambiar la longitud del array cambiando solo su valor en el #define
  17.                    numeros[i] = rand() % 100; // Numero aleatorio entre 0 y 99
  18.                break;
  19.            case 2:
  20.                printf("\nLos numeros del array son: ");
  21.                for(int i = 0; i < SIZE; ++i)
  22.                    printf("%d ", numeros[i]);
  23.                printf("\n");
  24.                break;
  25.        }
  26.        printf("Desea salir? [s/n]: ");
  27.        repetir = getchar();
  28.    }   while(repetir != 's' && repetir != 'S');
  29.  
  30.    printf("\nSaliendo del programa... Pulse ENTER\n");
  31.    getchar();
  32.    return 0;
  33. }

PD: Este ejemplo no intenta mostrar la manera de generar números aleatorios sino únicamente cómo usar un menú con opciones y un bucle para elegir si desea salir o no.
270  Programación / Bases de Datos / Re: AYUDENME POR FAVOR HERMANOS en: 20 Agosto 2020, 05:11 am
NO SE HACEN TAREAS.

Lo que estás pidiendo no es ayuda, es que te den las cosas hechas y va en contra de las normas del foro y de la ética en general...

Si todas las personas que quieren obtener un título deben esforzarse para aprender a hacerlo de verdad, por qué tú ibas a ser diferente??

Si un día por lo que sea necesitas una intervención médica, qué preferirías? Que la intervención la realice un médico que sabe hacer su trabajo o uno al que le han dado las cosas hechas y no tiene ni idea de lo que está haciendo?? Lo primero, no? Pues en el resto de trabajos es igual.

Eso sin contar la de personas a las que podrías quitarles un puesto de trabajo presentando un título que al parecer no mereces tener.

A ver si empezamos a tener un poco de decencia...
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ... 102
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines