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 Temas
Páginas: [1] 2 3
1  Programación / .NET (C#, VB.NET, ASP) / Usar for o foreach si ademas de recorrer necesito un contador en: 29 Julio 2018, 09:12 am
Hola, tengo una lista
Código
  1. List<Pelicula> Peliculas_Recomendadas = new List<Pelicula>();
Pero estaba dudando si recorrerla con un for o con un foreach, pues al necesitar un contador, el for me parece mas coherente. Pero como por lo general se usan foreach para lista, lo duda.
Código
  1. foreach( Pelicula i in Peliculas_Recomendadas)
  2.            {
  3.                Console.WriteLine(aux + " - " + i.Nombre_Pelicula());
  4.                aux++;
  5.            }

Código
  1. for (int i = 0; i < Peliculas_Recomendadas.Count(); i++)
  2.            Console.WriteLine(i + "- " + Peliculas_Recomendadas[i].Nombre_Pelicula());

¿Que creen?
2  Programación / Programación C/C++ / Haciendo mi propio Netflix en C, ¿Conviene usar punteros en vez de intancias? en: 24 Julio 2018, 06:29 am
Quiero hacer mi propio Netflix en C++/C#, sin usar sql, ya que todavia no lo he aprendido. (En unas semanas tengo pensado aprenderlo, pero por ahora solo memoria dinamica)
Pensé en este diagrama de clase. ¿Qué piensas?



En mi programa principal tengo una lista con todas las películas existentes.

Cada usuario tiene 2 listas, las películas que vio y las pelicula que guardo, y un vector de 5 peliculas recomendadas, que se generan en tiempo real (Cada vez que ve una pelicula)

Aca viene mi primera duda:

Ya que en mi archivo principal tengo una lista con las películas totales, es mucho gasto de memoria, colocar nuevamente en cada usuario "peliculas_vista" y "peliculas_no_vistas" por eso pense en hacer lo siguiente:
Una lista de punteros a peliculas "Peliculas_No_vistas", donde se tiene punteros a todas las peliculas existentes, cunado se ve una pelicula, el puntero pasa de estar en "Peliculas_No_vistas" a "Peliculas_Vistas", donde siempre voy manteniendo un registro de las que se vieron y no se vieron.

¿Que les parece? ¿O es insignificante el gasto de memoria adicional como para hacer esto?


La segunda pregunta:

Lo de tener Peliculas_No_vistas surge de que tengo que recomendar peliculas a a través de un algoritmo basado en los generos de películas que vio el usuario.

Entonces, dentro de las no vistas, quiero buscar en las de cierto genero, así que se me ocurrió lo siguiente:

Que Peliculas_No_Vistas sea un vector con los 10 géneros existentes, y en cada entrada del vector pongo la listas de peliculas con respecto al genero.(Solo para ordenarlas)

Donde, si quiero acceder a las de "terror" voy directo a esa categoría y no tengo que estar recorriendo las todas.

Y lo otro que pense es que las peliculas vistas sea un vector con dos listas, calificadas y no calificadas
Pero no se si es conveniente, ya que no se base de datos,  en un futuro cuando quiera hacerlo con base de datos, se me complique.
Gracias
3  Programación / Bases de Datos / El esquema que planteo, ¿Es correcto? en: 24 Mayo 2018, 03:23 am
Bueno, tengo el siguiente problema:





Como solución plante esto:







¿Que les parece?  


Y esta?


4  Programación / Programación C/C++ / Duda con funcion que devuelve un struct en: 15 Julio 2017, 21:36 pm
Hola, quiero generar una carta aleatoria, pero mediante una funcion, el problema esta en que el programa no me compila. La funcion generara carta, crea una estructura temp y le asigna palo y numero, y retorna la struc, pero al hacer carta1 = generarcartaaleatoria(); me provoca un error porque al parecer es de tipo int, lo cual no entiendo.
Código
  1. #include <stdio.h>
  2.  
  3. struct carta
  4. {
  5. int numero;
  6. char palo;
  7. };
  8.  
  9. int numero[12];
  10. char palo[4] = {'c', 'o', 'b', 'e'};
  11. typedef struct carta cartau;
  12.  
  13. int main()
  14. {
  15. rellenar(numero,12);
  16. cartau carta1;
  17. carta1 = generarcartaaleatoria();
  18. }
  19.  
  20. cartau generarcartaaleatoria()
  21. {
  22. cartau temp;
  23. temp.numero = numero[rand()%11];
  24. temp.palo = palo[rand()%4];
  25. return temp;
  26. }
  27.  
  28. void rellenar(int *vector,int tamanio){
  29. int i;
  30. for(i = 0; i < tamanio; i++) {
  31.    vector[i] = i+1;
  32. }
  33. return 0;
  34. }
  35.  
5  Foros Generales / Dudas Generales / En que escribir un manual de programacion en: 26 Mayo 2017, 03:33 am
Hola, estoy comenzando a escribir un manual de programación para mi mismo, como una bitácora de todo lo que aprendo, actualmente me encuentro utilizando latex, pero creo que no es lo mas conveniente. ¿Conocen alguna editor para escribirlo?. En lo posible que tenga facilidad a la hora de colocar los codigos. Gracias
6  Programación / Programación C/C++ / Duda con respecto a struct dentro de struct en: 1 Abril 2017, 22:14 pm
Hola, ¿Como estan? Me ha surgido una duda, supongamos que yo tengo el siguiente struct:

Código
  1.  
  2. struct prueba_text {
  3.  char caracteres[20];
  4.  int longitud;
  5. };
  6.  
  7.  

Ahora creo el tipo`textito_tip' que es un puntero a los elementos de `prueba_text'.

Código
  1. typedef prueba_text *textito_tip;
  2.  

Aca es donde viene mi duda, he creado una struct "prueba_text" la cual tiene dos campos, caracteres y longitud, que sucede si yo creo una nueva estructura
cuyos campos sean "int numero" y "textito_tip texto":

Código
  1. struct prueba_info {
  2.  int numero;
  3.  textito_tip texto;
  4. };
  5.  

Segun mi logica, prueba_info deberia tener 3 campos, "numero" y los dos que toma de "prueba_text" que son "caracteres" y "longitud"

¿Esto es asi?

Si es asi, entonces creo un nuevo tipo "info_tip" el cual es puntero a los elementos de "prueba_info"

Código
  1. typedef prueba_info *info_tip;
  2.  

La otra duda es, en caso de ser asi, yo para acceder a los elementos de rep_text, lo hacia de la siguiente forma:
Código
  1. textito_tip res = new prueba_text /* lo creo  y ahora accedo:*/
  2. res -> longitud = 4;
  3.  
mi duda es como accedo ahora, ya que esta dentro de prueba_info,supuse que seria algo asi:
Código
  1. info_tip hola = new prueba_info;
  2. hola -> numero;
  3.  
y en la parte que "hereda" del otro?
"hola -> longitud" ?

La otra pregunta seria:
Suponiendo que me pasan como parametro de una funcion "info_tip h" entonces para acceder solo tengo que poner
Código
  1. h -> numero;
o tengo que crear uno nuevo con "new" y asignarle h?
7  Programación / Programación C/C++ / Comparar letra una letra en un array, con una letra del abcdario en: 10 Marzo 2017, 03:54 am
Estoy tratando de construir un programa, al cual yo le de una frase y una letra, y me diga cuantas veces aparece esa letra en la frase. El problema esta en que logro dirigirme a cada letra de la frase, pero al compararla, siempre me la toma como si fueran iguales...

Código
  1.    #include <stdio.h>
  2.    int ContarLetra(char vector[],int largo,char letra);
  3.  
  4.    int main(){
  5.  
  6.    char frase[30] = "AJO Y AGUA";
  7.    int k = ContarLetra(frase,10,'O');
  8.    printf("%d",k);
  9.  
  10.    }
  11.  
  12.    /* Funcion a la cual se le da la frase a contar, el largo de la frase
  13.     y la letra que queremos contar cuantas vecces aparece */
  14.  
  15.    int ContarLetra(char vector[],int largo,char letra){
  16.  
  17.    int contador = 0;
  18.  
  19.    for (int i = 0;i < largo;i++){
  20.  
  21.    printf("%c \n",vector[i]);
  22.  
  23.    if (vector[i] = letra) {
  24.    contador ++;
  25.    }
  26.  
  27.    }
  28.  
  29.    return contador;
  30.  
  31.    }
  32.  
8  Informática / Hardware / 1 disco duro para datos, y otro para tener 2 sistemas operativos, es rentable? en: 2 Marzo 2017, 16:32 pm
Como bien dije en otro tema, estoy empezando una transición a linux. Conecte otro disco dura a mi pc, y no se que sera mas conveniente:

Si tener windows en un disco, y linux en el otro, teniendo también los archivos/carpetas/videos etc, en cualquiera de los dos disco.

O tener los dos sistemas operativos en 1 disco duro y los archivos en el disco restante.

Básicamente voy a usar linux para programar/Escribir en latex, y windows para editar vídeos. Gracias por su ayuda!
9  Sistemas Operativos / GNU/Linux / Que distro de GNU/Linux me conviene para programar en pc antigua en: 2 Marzo 2017, 01:10 am
Estoy programando actualmente en C++ y en la facultad, como requisito hay que usar Lnux/GNU, soy inexperto en esto, asi que no me encuentro del todo seguro

Luego de leer la wiki

http://wiki.elhacker.net/sistemas-operativos/gnulinux/%C2%BFque-distribucion-elijo

Creo que la mas conveniente seria Debían, pero como dije antes, soy inexperto, asi que tal vez no sea una decisión certera.  

Las especificaciones de mi pc son:

Memoria ram: 2 gb
Procesador: Dual cpu, 2.20 GHz 2.21 GHz 64 bits

De disco tego 40 gb libres, la idea es particionar 30 y instalar en esos 30, alguna distro y sus directorios.

10  Programación / Programación C/C++ / Como colocar OR dentro de un while de diferencia en: 25 Diciembre 2016, 07:33 am
Hola, estaba haciendo un programa el cual pedia insertar 10 numeros del 1 al 5, si el usuario insertaba un numero que no estaban dentro de ese rango, el programa en vez de pedir 10 pedia 9, y si insertaba otro, pedia 8, en otras palabras, lo contaba como ingresado.

Para solucionar esto, ingrese la siguiente linea:

Código
  1. while (n[j] != 1 || 2 || 3 || 4 || 5)

El problema esta, en que no funciona correctamente, nunca sale del bucle, entonces mi pregunta es:

¿Que es lo que le estoy diciendo que haga con esa linea?

¿Como puedo decirle que si n[j] no es 1 ni 2, ni 3, ni 4, ni 5, se ejecute el while?

Si saco el while, el codigo funciona bien y hace lo que tiene que hacer, pero lo dejo, por las dudas.

Código
  1. #include <stdio.h>
  2.  
  3. #define ENCUESTADOS 3
  4.  
  5. int main(){
  6.  
  7.    int j;
  8.    int a=0;
  9.    int b=0;
  10.    int c=0;
  11.    int d=0;
  12.    int e=0;
  13.    int n[ENCUESTADOS];
  14.    int k[4];
  15.  
  16.    printf("Inserte calidad 1,2,3,4,5 \n");
  17.  
  18.    for(j = 0; j < ENCUESTADOS;j++)
  19.    {
  20.        scanf("%d",&n[j]);
  21.  
  22.        while (n[j] != 1 || 2 || 3 || 4 || 5)
  23.        {
  24.            printf("%d",n[j]);
  25.            printf("inserte numero entre 1 y 5 \n");
  26.            scanf("%d",&n[j]);
  27.        }
  28.    }
  29.  
  30.    for(j=0;j < ENCUESTADOS;j++)
  31.    {
  32.        switch(n[j]){
  33.  
  34.        case 1:
  35.        a++;
  36.        break;
  37.  
  38.        case 2:
  39.        b++;
  40.        break;
  41.  
  42.        case 3:
  43.        c++;
  44.        break;
  45.  
  46.        case 4:
  47.        d++;
  48.        break;
  49.  
  50.        case 5:
  51.        e++;
  52.        break;
  53.  
  54.        }
  55.    }
  56.  
  57.    k[0] = a;
  58.    k[1] = b;
  59.    k[2] = c;
  60.    k[3] = d;
  61.    k[4] = e;
  62.  
  63.    printf("Calificacion \t Personas \n");
  64.  
  65.    for(j = 0; j < 5;j++)
  66.    {
  67.        printf("%d \t %d \n",j+1,k[j]);
  68.    }
  69.  
  70.    return 0;
  71. }
  72.  
  73.  

Saludos, feliz navidad!
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines