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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Temas
Páginas: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22
181  Programación / Programación C/C++ / problema if's anidados en: 27 Diciembre 2012, 01:11 am
saludos estoy haciendo un programa que me tiene que:
 generar 5 operaciones aritmeticas aleatorias, los números (aleatorios) deben estar comprendidos entre 10 y 1, y las operaciones deberán ser suma, resta multiplicación, división (en el caso de la división se realizará siempre una división entera y el primer número tendrá que ser mayor que el segundo) al final imprimir el número de aciertos t la calificación

pero el problema es que no me da bien el número de los aciertos, no se si es porque tengo muchos ifs anidados o porque no me calcula bien las operaciones que dan resultados negativos como:

5-7 =-2

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define OPERACIONES 5
  5. int main()
  6. {
  7.    int i,numero1,numero2,respuesta,resultado,aciertos=0;
  8.    char operacion;
  9.    srand(time(NULL));
  10.    for(i=0;i<OPERACIONES;i++)
  11.    {
  12.        numero1 = rand()% 11+1;
  13.        numero2 = rand()% 11+1;
  14.        operacion = rand()% 6+42;
  15.        if(operacion==42||operacion==43||operacion==45||operacion==47)
  16.        {
  17.            if(operacion==47)
  18.            {
  19.                if(numero2>numero1)
  20.                {
  21.                    printf("%d %c %d = ",numero2,operacion,numero1);
  22.                    scanf("%d",&respuesta);
  23.                    resultado = numero2/numero1;
  24.                }
  25.                else
  26.                {
  27.                    printf("%d %c %d = ",numero1,operacion,numero2);
  28.                    scanf("%d",&respuesta);
  29.                    resultado = numero1/numero2;
  30.                }
  31.            }
  32.            else
  33.            {
  34.                if(operacion==42)
  35.                {
  36.                    printf("%d %c %d = ",numero1,operacion,numero2);
  37.                    scanf("%d",&respuesta);
  38.                    resultado=numero1*numero2;
  39.                }
  40.                else if(operacion==43)
  41.                {
  42.                    printf("%d %c %d = ",numero1,operacion,numero2);
  43.                    scanf("%d",&respuesta);
  44.                    resultado=numero1+numero2;
  45.                }
  46.                else if(operacion==45)
  47.                {
  48.                    printf("%d %c %d = ",numero1,operacion,numero2);
  49.                    scanf("%d",&respuesta);
  50.                    resultado=numero1+numero2;
  51.                }
  52.  
  53.            }
  54.            if(respuesta==resultado)
  55.               aciertos++;
  56.        }
  57.        else
  58.            i--;
  59.    }
  60.    printf("\nTuviste %d aciertos, tu calificacion es %d\n",aciertos,aciertos*20);
  61.    return 0;
  62. }
  63.  
de antemano gracias por sus respuestas  :)
182  Programación / Programación C/C++ / warnings en: 21 Diciembre 2012, 01:08 am
saludos

tengo el siguiente código de una lista simplemente enlazada, pero el problema es que me aparece un warning que dice:

return makes pointer from integer without a cast

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct nodo
  5. {
  6.    int dato;
  7.    struct nodo*sig;
  8. }NODO;
  9.  
  10. NODO* crear_nodo(int x);
  11. void insertar_cabeza(NODO **cabeza,int x);
  12. NODO* buscar_elemento(NODO *cabeza);
  13.  
  14. int main()
  15. {
  16.    int i,num,x;
  17.    NODO *cabeza,*ptr;
  18.    cabeza = NULL;
  19.    printf("Cuantos elementos quieres?\n");
  20.    scanf("%d",&num);
  21.    printf("Lista Simplemente Ligada!\n");
  22.    for(i=0;i<num;i++)
  23.    {
  24.        printf("Dame el elemento %d\n",i+1);
  25.        scanf("%d",&x);
  26.        insertar_cabeza(&cabeza,x);
  27.        system("cls");
  28.    }
  29.  
  30.    for(ptr=cabeza;ptr!=NULL;ptr=ptr->sig)
  31.        printf("\n%d\n",ptr->dato);
  32.    buscar_elemento(cabeza);
  33.    return 0;
  34. }
  35.  
  36. NODO* crear_nodo(int x)
  37. {
  38.    NODO *p;
  39.    p = (NODO*)malloc(sizeof(NODO));
  40.    p->dato = x;
  41.    p->sig = NULL;
  42.    return p;
  43. }
  44.  
  45. void insertar_cabeza(NODO **cabeza,int x)
  46. {
  47.    NODO *nuevo;
  48.    nuevo = crear_nodo(x);
  49.    nuevo->sig = *cabeza;
  50.    *cabeza = nuevo;
  51. }
  52.  
  53. NODO* buscar_elemento(NODO *cabeza)
  54. {
  55.    int elemento,encontro=0;
  56.    NODO *indice;
  57.    printf("Buscar elemento\n\n");
  58.    printf("Cual elemento quieres buscar?\n");
  59.    scanf("%d",&elemento);
  60.    for(indice=cabeza;indice!=NULL;indice=indice->sig)
  61.    {
  62.        if(indice->dato==elemento)
  63.           encontro=1;
  64.        else
  65.           encontro=0;
  66.    }
  67.    if(encontro)
  68.       return indice->dato;
  69.    else
  70.       return 0;
  71. }
  72.  
de antemano gracias
183  Programación / Programación General / Teoria del color en: 26 Noviembre 2012, 23:56 pm
Saludos

Estoy estudiando los diferentes modelos de color (RGB,CMY,CMYK, etc..) y tengo que resolver el siguiente problema que dice:

Transformar el pixel RGB de 8 bits/color primario (64, 128, 192) al modelo CMY normalizado

tengo entendido que la fórmula para transformar de  CMY a RGB es:

C: 1-R
M: 1-G
Y: 1-B

pero creo que con 8 bits es diferente

de antemano gracias
184  Programación / Programación C/C++ / mensaje de error en: 21 Noviembre 2012, 22:19 pm
Saludos

que significa cuando cada vez que intento correr un programa (en codeblocks) me aparece un mensaje de error que dice la direccion donde tengo guardada la aplicacion y

failed.Nothing to be done.

pero aún asi el programa compila, por eso no entiendo por qué me aparece este mensaje

de antemano gracias
185  Programación / Programación C/C++ / Programa de Gráficas en: 12 Noviembre 2012, 20:50 pm
Saludos

Estoy haciendo un programa de gráficas que me tiene que dar las coordenadas de una recta,  un circulo y un elipse, aún no lo he terminado porque el programa compila pero cuando entra al ciclo do-while se congela y no hace nada, no se por qué

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void dibujar_recta();
  5.  
  6. int main()
  7. {
  8.    int opcion;
  9.    printf("Graficas por Computadora\n");
  10.    printf("Dibujo primitivas 2D\n");
  11.    printf("Que desea hacer?\n");
  12.    printf("1)Linea\n");
  13.    printf("2)Circulo\n");
  14.    printf("3)Elipse\n");
  15.    scanf("%d",&opcion);
  16.    switch(opcion)
  17.    {
  18.        case 1:
  19.           dibujar_recta();
  20.           break;
  21.        case 2://todavia me falta esta parte
  22.           break;
  23.        case 3://todavia me falta esta parte
  24.           break;
  25.        default:
  26.           printf("Opcion no valida\n");
  27.    }
  28.    return 0;
  29. }
  30.  
  31. void dibujar_recta()
  32. {
  33.    int pi_x,pf_x,pi_y,pf_y,m,inc_x,inc_y,Pk=0,inc_y2,inc_x2,k,num,Xk,Yk;
  34.    printf("Dame el punto inicial(x,y):\n");
  35.    scanf("%d%d",&pi_x,&pi_y);
  36.    printf("Dame el punto final(x,y):\n");
  37.    scanf("%d%d",&pf_x,&pf_y);
  38.    system("cls");
  39.  
  40.    m = (pf_y-pi_y)/(pf_x-pi_x);
  41.  
  42.    printf("pixel inicial = (%d,%d)\n",pi_x,pi_y);
  43.    inc_x = pf_x-pi_x;
  44.    inc_y = pf_y-pi_y;
  45.    inc_y2 = 2*inc_y;
  46.    inc_x2 = 2*inc_x;
  47.  
  48.    printf("%cx = %d\n",30,inc_x);
  49.    printf("%cy = %d\n",30,inc_y);
  50.    printf("2%cy = %d\n",30,inc_y2);
  51.    printf("2%cy - 2%cx = %d - %d = %d\n",30,30,inc_y2,inc_x2,inc_y2-inc_x2);
  52.    Pk = 2*inc_y-inc_x;
  53.    printf("Pk = 2%cy - %cx = %d - %d = %d\n\n",30,30,inc_y2,inc_x,Pk);
  54.    Xk = pi_x;
  55.    Yk = pi_y;
  56.  
  57.    printf("Hasta que numero quieres calcular?\n");
  58.    scanf("%d\n",&num);
  59.    printf("K\tPk\t(Xk+1,Yk+1)\n");
  60.    k=0;
  61.    do
  62.    {
  63.        printf("%d\t%d",k,Pk);
  64.        if(Pk>=0)
  65.        {
  66.            Pk = Pk+inc_y2-inc_x2;
  67.            Xk++;
  68.            Yk++;
  69.        }
  70.        else
  71.        {
  72.            Pk = Pk+inc_y2;
  73.            Xk++;
  74.        }
  75.        printf("(%d,%d)\n",Xk,Yk);
  76.        k++;
  77.    }while(k<=num);
  78. }
  79.  

de antemano gracias
186  Programación / Programación C/C++ / función random en: 5 Noviembre 2012, 19:35 pm
Saludos

Tengo una duda con respecto a la función random

Si quisiera generar numeros aleatorios del 0 al 10 por ejemplo, sería algo como
rand()%11; pero que pasa cuando de esos números del 0 al 10 no quiero que se generen el 6 y el 4, por ejemplo.

¿Cómo podría hacer una excepción de algunos números?

de antemano gracias
187  Foros Generales / Dudas Generales / convertir a decibeles en: 25 Septiembre 2012, 21:43 pm
Saludos

Alguien que me pueda decir cuál es la fórmula para calcular decibeles, es que tengo una tabla de 3 columnas para completar y me dan potencia inicial, potencia final y decibeles, por ejemplo:

potencia inicial = 60
potencia final = 55mW
decibeles = 29.62 decibeles

yo tenía entendido que la fórmula era

10 log(pot final/potencia inicial)

pero no me da los resultados

de antemano gracias
188  Foros Generales / Dudas Generales / problemas de potencia en: 21 Septiembre 2012, 21:39 pm
Saludos necesito ayuda para resolver el siguiente problema:

2.¿Con cuánta potencia llegará una señal de 15 decibeles después de recorrer 630 metros de cierto cable que atenúa 2.50 dB cada 500 pies?

1 pie       →  0.3048 metros        x = (500) (0.3048)
500 pies  →  x                           x = 152.4 metros

primero hice una regla de 3 para convertir de pies a metros, después

2.0  atenuación → 36.1% potencia perdida           x = (36.1) (2.5)= 90.25
2.5 atenuación → x                                    x = 90.25/2.0=45.1% potencia perdida

hice otra regla de 3 porque según una tabla 2.0 de atenuación equivale a 36.1% de potencia perdida( y en el problema me están pidiendo la potencia)

y por último dividí 630 sobre 152.4 para saber exactamente cuántas veces se atenúan  2.50 decibeles

630/152.4 = 4.13

pero hasta aquí me quedé ya no sé qué más hacer  :-\ y quería saber si alguien me pudiera dar una pista

de antemano gracias

ES UN POCO URGENTE
189  Foros Generales / Dudas Generales / Memoria RAM y almacenamiento secundario en: 24 Agosto 2012, 03:39 am
Saludos

estoy leyendo un libro de estructuras de archivos y me esta costando un poco entender algunas definiciones y esperaba que alguien me pudiera explicar que quiere decir con que los costos varian en el almacenamiento secundario y por qué es esto:

en el almacenamiento secundario el costo de recuperación varia de unas partes de la información a otras, en RAM todos los accesos tienen el mismo costo

gracias
190  Programación / Programación C/C++ / intercalar elemento en vector en: 15 Agosto 2012, 20:50 pm
Saludos estoy haciendo el siguiente código que me tiene que leer un vector de longitud n ordenado ascendente y un elemento x del mismo tipo que los
elementos del vector, intercalar x en el vector v de manera que siga ordenado.
todo esto sin utilizar funciones, solo arreglos

y llevo lo siguiente pero mi problema es en la parte que me tiene que intercalar el elemento x en el vector que no se si esta bien hecha

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX 20
  4.  
  5. /* Leer un vector de longitud n ordenado ascendente y un elemento x del mismo tipo que los
  6.    elementos del vector, intercalar x en el vector v de manera que siga ordenado.
  7. */
  8.  
  9. int main()
  10. {
  11.    int n,i,j,v[MAX],aux,x;
  12.    printf("Dame longitud del vector\n");
  13.    scanf("%d",&n);
  14.    printf("Imprimir vector\n");
  15.    for(i=0;i<n;i++)
  16.    {
  17.        printf("Imprimir elemento %d\n",i);
  18.        scanf("%d",&v[i]);
  19.    }
  20.    printf("Orden ascendente\n");
  21.    for(j=0;j<n;j++)
  22.    {
  23.        for(i=0;i<n;i++)
  24.        {
  25.            if(v[i+1]>v[i])
  26.            {
  27.                aux=v[i+1];
  28.                v[i+1]=v[i];
  29.                v[i]=aux;
  30.            }
  31.        }
  32.    }
  33.    for(i=0;i<n;i++)
  34.    {
  35.        printf("%d\n",v[i]);
  36.    }
  37.    printf("Dame elemento a intercalar\n");
  38.    scanf("%d",&x);
  39.    for(i=0;i<=n;i++)//Aqui le estoy creando una posicion mas al arreglo
  40.    {
  41.        if(x > v[i])
  42.        {
  43.            for(j=n;j>v[i];j--)
  44.            {
  45.                v[j]=v[j-1];/*Aqui recorro los elementos para insertar
  46.                               el elemento x*/
  47.            }
  48.        }
  49.    }
  50.    return 0;
  51. }
  52.  
me falta todavia la parte en la que se inserta el elemento x en la posicion correcta sin desordenar el vector

gracias
Páginas: 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines