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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: 1 [2] 3 4 5 6 7
11  Programación / Programación C/C++ / Duda con una lectura de teclado en c++ en: 27 Diciembre 2013, 23:45 pm
Buenas gente, feliz navidad espero que la esten pasando bien

Miren, mirando a ratos problemas, pues me encontre con algo muy curioso con la lectura de datos en C++.

No entiendo porque ocurre lo siguiente:



Básicamente no se como hacer para leer correctamente los datos de y limpiar el buffer entrada, como siempre recomiendan NO USAR fflush(stdin), debe ser un problema con cin.getline, pero en definitiva no se que usar para leer cadenas que tengan el espacio, para leer nombres completos.

Les agradeceria su ayuda con esta duda.

Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. struct Nadador
  8. {
  9.    char nombre[30];
  10.    int edad;
  11.    char prueba[20];
  12.    double tiempo;
  13. };
  14.  
  15. typedef struct Nadador datosNadador;
  16.  
  17. int main()
  18. {
  19.    datosNadador nuevosDatos;
  20.    datosNadador *p_nuevosDatos;
  21.  
  22.    p_nuevosDatos = &nuevosDatos;
  23.  
  24.    cout << "************** Problema 11.3 **************" << endl << endl;
  25.  
  26.    cout << "Digite el nombre del nadador:  "; cin.getline(p_nuevosDatos->nombre, 30, '\n');
  27.    cout << "Nombre del nadador:  " << p_nuevosDatos->nombre << endl << endl;
  28.  
  29.    cout << "Digite la edad del nadador:  "; cin >> p_nuevosDatos->edad;
  30.    cout << "Edad del nadador:  " << p_nuevosDatos->edad << endl << endl;
  31.  
  32.    cout << "Digite la prueba que hizo el nadador:  "; cin.getline(p_nuevosDatos->prueba, 20, '\n');
  33.    cout << "Nombre de la prueba:  " << p_nuevosDatos->prueba << endl << endl;;
  34.  
  35.    cout << "Digite el tiempo de la prueba:  "; cin >> p_nuevosDatos->tiempo;
  36.    cout << "Tiempo realizado en la prueba:  " << p_nuevosDatos->nombre << endl << endl;;
  37.  
  38.    return 0;
  39. }
  40.  

12  Programación / Programación C/C++ / Ayuda con ejercicio de matrices transpuestas y simetricas en: 18 Diciembre 2013, 02:58 am
Buenas amigos, mi problema es el siguiente, se supone que debo hacer una matriz simetrica, y pues lo primero es realizar es una matriz transpuesta porque pues, de eso se trata aprender no??  ;-) ;-) verán, en el ejercicio me dicen que use indexación y aritmetica de apuntadores, para no alargar mucho el tema, dejo el enunciado:

Citar
Escribir un programa que encuentre una matriz de números reales simétrica. Para ello una función entera con entrada a la matriz determinará si ésta es simétrica. En otra función se generará la matriz con números aleatorios de 1 a 19.

Utilizar aritmética de apuntadores en la primera función; en la segunda, indexación.

En el ejercicio, pues como verán, lo hice de las dos formas, no de sobrado, sino por saber como trabajan por separado. Y pues mi problema no nisiquiera de programación, sino que no he podido dar con el chiste de hacer una maldita matriz transpuesta, cambiando de lugar los elementos de la matriz para que luego deba hacer la comprobación de si existe o no una matriz simétrica.

Para que me entiendan dejo el ejemplo de una matriz transpuesta:


Donde se puede ver, que los elementos de las filas y las columnas quedan "transpuestos" unos con otros, menos la diagonal principal, cambiando de lugar, la simetria se da cuando después del cambio los valores númericos de los elementos siguen siendo los mismos, de esta forma:


Y pues mi problema radica en que no he podido hacer la transposición, ya trate de varias maneras, pero me falla la lógica, no he podido dar con el chiste, me dan una mano amig@s???

he aquí el código, no es nada complicado:

Código
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstdlib>
  4. #include <time.h>
  5.  
  6. using namespace std;
  7.  
  8. void generarNumeros(int **matriz, int tam)
  9. {
  10.    //Generando nçumeros aleatorios con indexación
  11.    /*for (int i =0; i < tam; i++)
  12.     {
  13.         for(int j=0; j < tam; j++)
  14.         {
  15.             matriz[i][j] = 1 + rand() % 19;
  16.         }
  17.     }*/
  18.  
  19.    //Generando nçumeros aleatorios con aritmetica de punteros
  20.    for (int i=0; i < tam; i++ )
  21.    {
  22.        for(int j=0; j < tam; j++)
  23.        {
  24.            *(*(matriz+i)+j) = 1 + rand() % 19;
  25.        }
  26.    }
  27. }
  28.  
  29. void imprimirMatriz(int **matriz, int tam)
  30. {
  31.    // Imprimiendo por indexación
  32.    /*for (int i =0; i < tam; i++)
  33.     {
  34.         for(int j=0; j < tam; j++)
  35.         {
  36.             cout << matriz[i][j];
  37.             cout << "   ";
  38.         }
  39.         cout << endl;
  40.     }*/
  41.  
  42.    // Imprimiendo por aritmetica de punteros
  43.    for (int i=0; i < tam; i++ )
  44.    {
  45.        for(int j=0; j < tam; j++)
  46.        {
  47.            cout << *(*(matriz+i)+j);
  48.            cout << "   ";
  49.        }
  50.        cout << endl;
  51.    }
  52. }
  53.  
  54. void transpuesta(int **matriz, int tam)
  55. {
  56.    int aux;
  57.    for (int i=0; i < tam; i++ )
  58.    {
  59.        for(int j=0; j < tam; j++)
  60.        {
  61.            if(i == j)
  62.            {
  63.                aux = *(*(matriz+i)+j);
  64.                *(*(matriz+i)+j) = *(*(matriz+j)+i);
  65.                *(*(matriz+j)+i) = aux;
  66.            }
  67.        }
  68.    }
  69. }
  70.  
  71. int main()
  72. {
  73.    srand(time(0));
  74.    int tamanyo;
  75.    int **matrizPrincipal; // puntero para dos dimensiones del arreglo
  76.  
  77.    cout << "Problema 11.2 ----_____----" << endl << endl;
  78.    cout << "Ingrese el tamaño de la matriz:  "; cin >> tamanyo;
  79.  
  80.    matrizPrincipal = new int*[tamanyo]; /*asignacion de memoria de n punteros a enteros*/
  81.  
  82.    for (int i =0; i < tamanyo; i++)
  83.        matrizPrincipal[i] = new int[tamanyo]; /*asignacion de memoria para cada entero*/
  84.  
  85.    /*comprobar si fue creado */
  86.    if (matrizPrincipal == NULL)
  87.    {
  88.        cout << "No se pudo crear la matriz" << endl;
  89.  
  90.    }
  91.  
  92.    generarNumeros(matrizPrincipal, tamanyo);
  93.    imprimirMatriz(matrizPrincipal, tamanyo);
  94.    cout << endl << endl;
  95.  
  96.    // matriz transpuesta
  97.    cout << endl << "***MATRIZ TRANSPUESTA***" << endl;
  98.    transpuesta(matrizPrincipal, tamanyo);
  99.    imprimirMatriz(matrizPrincipal, tamanyo);
  100.  
  101.  
  102.    return 0;
  103. }
  104.  
  105.  

Si ven las librerias adicionales como "cstdio" o "cstdlib" era porque estaba probando el tipico caso de printf vs cout. Aunque creo que srand() debe funcionar con cstdlib...en fin, no da problemas de compilación, el problema esta en la función "transpuesta(int **matriz, int tam)", pues no he podido dar con el truco de transponer los elementos.

Les agradezco el interés y la ayuda, slsd  ;-) ;-)
13  Programación / Programación C/C++ / Problema con scanf en un *char en estructura en: 10 Diciembre 2013, 14:56 pm
Buenas, muchas sigo con problemas mediante punteros, es un problema interesante, me interesa saber porque ocurre este error, y no encuentro nada relacionado con el tema, por favor una ayudita.

Al momento de escanear el *char mes, me sale un error de Segmentation Fault, y es que eso ocurre con el scanf de esa cadena, no se porque carajos ocurre eso, conceptualmente. no se como corregir ese error y no se porque tanto dilema con ese apuntador, que ni siquiera esa usandose en la otra estructura, dejandolo independiente de la otra estructura anidada "fecha"

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct fecha
  5. {
  6.    int d, m, a;
  7.    float x;
  8. };
  9.  
  10. struct dato
  11. {
  12.    char* mes;
  13.    struct fecha* r;
  14. }t ;
  15.  
  16. int main()
  17. {
  18.    struct dato nuevoDato;
  19.    printf("++++++****FECHAS****++++++\n\n");
  20.    printf("Digite La fecha:  \n");
  21.    printf("Día:  ");
  22.    scanf("%d", &nuevoDato.r->d);
  23.  
  24.    printf("Mes Letras:  ");
  25.    scanf("%s", &nuevoDato.mes);
  26.  
  27.    printf("Mes número:  ");
  28.    scanf("%d", &nuevoDato.r->m);
  29.  
  30.    printf("Año:  ");
  31.    scanf("%d", &nuevoDato.r->a);
  32.  
  33.    printf("Número coma flotante:  ");
  34.    scanf("%f", &nuevoDato.r->x);
  35.  
  36.  
  37.    printf("El día anotado es:  %d\n", nuevoDato.r->d);
  38.    printf("El mes letras anotado es:  %s\n", &nuevoDato.mes);
  39.    printf("El mes número anotado es:  %d\n", nuevoDato.r->m);
  40.    printf("El año anotado es:  %d\n", nuevoDato.r->a);
  41.    printf("El número coma flotante anotado es:  %.2f\n", nuevoDato.r->x);
  42.    return 0;
  43. }
  44.  
  45.  

me sale esto:



Poco a poco avanzo en el tema de punteros... :silbar: :silbar:
14  Sistemas Operativos / GNU/Linux / Reproductor stream o peliculas en servidor local linux en: 8 Diciembre 2013, 04:49 am
Como puedo poner un reproductor de tipo youtube o vimeo en servidor local sin depender de un link a youtube o vimeo??

Me explico, es algo facil, como puedo simplemente poner mi propio portal de peliculas en un servidor local sin depender de internet, dejarlo activo en una red local, así de simple.

Como puedo y que necesito saber para hacerlo??

Tengo mi pelicula, digamos guardada en

Citar
/home/carpetaPersonal/Peliculas/ElTriunfoDeLosNerds.avi

y pues ponerlo al acceso de cualquier navegador pero en mi red local, sin tener que hacer

Código:
[youtube]http://blablabla.com[/youtube]

En fin, pues con esa etiqueta pues dependo de internet, y no se que tiene ese frame para cargar los modulos de flash, quisiera saber es como poner esos modulos en mi servidor.

Alguien tiene algún dato??
15  Programación / Programación C/C++ / ayuda con problema de matrices y punteros en: 7 Diciembre 2013, 18:10 pm
Que tal gente como estan, estoy retomando el tema de punteros, y estoy en problemas, no he podido hacer el siguiente ejercicio, por favor, echenme una mano, porque no he entendido porque me da errores de segmentation fault, y pues no me imprime la matriz por medio de aritmetica de punteros.

El enunciado del ejercicio es este:

------------------------------------------------------------------------------------------------------------------


En el siguiente código se accede a los elementos de una matriz. Acceder a los mismos elementos con aritmética de apuntadores.

Código
  1. #define N 4
  2. #define M 5
  3. int f, c;
  4. double mt [N][M]
  5. ...
  6. for(f=0; f<N; f++)
  7. {
  8.     for(c=0; c<M; c++)
  9.              printf("%1f ", mt[f][c]);
  10.     printf("\n");
  11. }
  12.  

------------------------------------------------------------------------------------------------------------------

Se que esta en C, pero quise hacer el C++ porque estoy avanzando en todo el tema y quiero pasar rapidamente de punteros, luego memoria dinamica, luego archivos, luego clases y luego hacer cosas en serio.


Código
  1. #include <iostream>
  2.  
  3. #define N 4
  4. #define M 5
  5.  
  6.  
  7.  
  8. using namespace std;
  9.  
  10. int main()
  11. {
  12.    int f, c;
  13.    double mt[N][M];
  14.  
  15.    double **mt_puntero;
  16.  
  17.    *(mt_puntero) = &mt[0][0];
  18.    while(*mt_puntero)
  19.    {
  20.        *(*(mt_puntero)) = 2.00;
  21.        mt_puntero++;
  22.    }
  23.  
  24.  
  25.    for(f=0; f<N; f++)
  26.    {
  27.        for(c=0; c<M; c++, mt_puntero++)
  28.        {
  29.            //cout << mt[f][c] << " ";
  30.            // Aritmetica de punteros
  31.            cout << *(*(mt_puntero + f) + c) << "--> ";
  32.            cout << &mt_puntero[f][c] << endl;
  33.        }
  34.        cout << endl;
  35.    }
  36.  
  37.    while(*mt_puntero)
  38.    {
  39.        cout << *(*(mt_puntero ) );
  40.        mt_puntero++;
  41.    }
  42.  
  43.    return 0;
  44. }
  45.  

Se que hay varias cosas mal, pero esto es debido a que probe de muchas formas y no he podido dar con el tema, ya he leido varios documentos y no he podido atinarle, agradeceria más allá de que me resuelvan el ejercicio, el que puedan explicarme como es el correcto uso de la aritmetica de punteros enfocado a matrices/arrays multidimensionales

slds
16  Informática / Electrónica / Reparar fuente atx para aprender en: 5 Septiembre 2013, 17:02 pm
Hola, que tal gente, resulta que tengo desde hace tiempo una fuente atx dañada, y realmente tengo muchas ganas de ver como funciona una, quisiera poder arreglar una, entender como trabaja y que es en si el tema de circuitos electricos/electronicos

Es una fuente común y corriente



Se que a terminos practicos sale mejor comprar uno, pero estoy es interesado en saber como es su funcionamiento, queria saber que clase de cosas hay que saber para entender y poder dejarla arreglada. Espero que puedan ayudarme

La imagen es demasiado grande: http://upload.wikimedia.org/wikipedia/commons/c/cf/ATX_power_supply_interior.jpg

Estoy dispuesto a cambiar partes, revisar cables, hacer diferentes pruebas, quiero hacer todo eso, pero no se en donde empezar, estoy pendiente de cualquier ayuda y guia para tener en cuenta
17  Sistemas Operativos / GNU/Linux / Informacion sobre los makefile en: 17 Julio 2013, 00:57 am
Buenas, trabajando sobre sdl, he visto que se trabaja mucho con este tipo de archivos, en el que pues, se compilan facilmente y todo eso, pero estoy interesado en saber que son, porque funcionan de esa manera, y vamos, realmente google arroja demasiados resultados, asi que no sabria como empezar, alguien tiene una referencia rapida para digamos interpretar algo como esto:

Citar
SDL_CONFIG = sdl-config
DEFAULT_CFLAGS = $(shell $(SDL_CONFIG) --cflags)
MORE_CFLAGS = -O2

CFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS)
CXXFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS) -fno-exceptions -fno-rtti

LDLIBS = -lSDL_image -lSDL_mixer -lSDL_ttf -lSDL_net
 $(shell $(SDL_CONFIG) --libs)

all: holamundo_sdl
holamundo_sdl: holamundo_sdl.c

clean:
   rm -f *~
   rm -f main.o main

Es de un hola mundo en SDL, y pues se supone que funciona sin ide, en el que solo es compilar sin terminal sin especificar flags, pero pues, no me va muy claro todas las sentencias, ojala alguien pueda ayudarme o mejor, dejarme una guia para el camino, sino, pues padre google estara ahi, aunque siempre confunda al principio  :silbar: :silbar: :silbar:
18  Media / Diseño Gráfico / Como puedo realizar iluminaciones y brillos en Illustrator?? en: 5 Julio 2013, 19:02 pm
Buenas tengo el siguiente logo:


Quisiera darle un aspecto más natural, aún no se como trabajar correctamente en illutrator el tema de illuminaciones y brillos, y le herramienta destello realmente no me genera lo que quiero, demasiado anillo y rayo solo para un brillo

Me estoy basando en el la siguiente imagen:


Pueden notar que en la parte superior izquierda, en la zona convexa se observa cierta iluminacion que le da cierto aire 3D, claro, el sombreado es importante, y eso también me falta, pero lo que quiero trabajar en este momento, o mejor dicho, aprender, es el uso de iluminaciones en graficos vectoriales.

Pueden darme algunos tips para lograr una mejor imagen?? que piensan de la imagen??
19  Programación / Programación C/C++ / Como puedo determinar el tamaño de un diccionario creado en C++?? en: 5 Julio 2013, 05:10 am
Bueno, no me quiero extender mucho, solo quiero crear un diccionario con un rango de numeros de 10 cifras desde el 1.000.000.000 hasta el 9.999.999.999, y me surgio la duda, cuanto podria pesar tal archivo, como puedo determinar el tamaño de ese diccionario, quedara taaaaan pesado como creo??

además, puedo generarlo de una vez con extension .lst o es necesario hacer alguna conversion?

Como lo imprimirian uds?? con arreglos, vectores o listas??
20  Informática / Hardware / Duda sobre un disco duro quemado en: 24 Abril 2013, 05:12 am
Buenas recientemente, se me jodio un disco duro de 80 gb IDE que casi no habia usado en un computador que arme con partes que tenia guardadas, bueno, un pc de 2da para un estudio que iba a realizar sobe uso de openwrt...pero ese es un tema aparte.

Mi duda es que bueno, ya se frego el disco, quedo frito, pero tengo mis dudas sobre las causas probables, es posbible que además de un pico/caida de tension, puede estar relacionado con la conexion IDE con una board FOXCONN que siempre me ha generado desconfianza?? vale son partes de segunda, es cuestión de tiempo para que produzca fallos, simplemente quiero saber cual fue el posible desencadenante, y ver si la board tiene alguna relacion para este desperfecto tan molesto.

Se que debo comprar elementos nuevos, pero como dije, quisiera que me ayudaran a deducir las causas y saber si es posible que la board tenga relacion en este tipo de problemas o sea solo por la fuente de poder.



Si necesitan especificaciones, vale, todo el equipo es de segunda.

Board Foxconn + procesador Pentium DualCore 2.8 GHz con 512 Mb de Ram DDR2, HDD  conexion IDE -No me acuerdo la marca- de 80 Gb, no tiene unidad de cd, fuente generica de 500 w.

Apreciaria sus opiniones, sobre todo si tienen comentarios sobre Foxconn

Slds
Páginas: 1 [2] 3 4 5 6 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines