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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 ... 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 [137] 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 ... 160
1361  Programación / Programación C/C++ / Re: Serie Fibonacci C++ en: 16 Enero 2012, 15:13 pm
Para empezar falta realizar la validación del numero introducido por el usuario.

El programa no funciona correctamente ya que en cada iteracion del bucle calculas el siguiente numero de la serie fibonacci, ello solo debes hacerlo cuando alcances ese numero (al imprimir los números entre este y el anterior).

El programa corregido:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6.   long num;
  7.   long i;
  8.   long a;
  9.   long b;
  10.   long aux;
  11.  
  12.   scanf("%ld", &num);
  13.  
  14.   a = 3;
  15.   b = 5;
  16.   for (i = 4; i < num; i++)
  17.      if (i != b)
  18.         printf(" %ld", i);
  19.      else {
  20.         aux = a + b;
  21.         a = b;
  22.         b = aux;
  23.      }
  24.   putchar('\n');
  25.  
  26.   return EXIT_SUCCESS;
  27. }

Un saludo
1362  Programación / Programación C/C++ / Re: Programa con acciones: contador de vocales y consonantes en: 16 Enero 2012, 14:42 pm
Todo bien salvo un detalle: ya que se trata de una frase se deben ignorar ciertos caracteres y por ello primero debemos verificar si se trata de un carácter alfabético. Si es así seguimos con la comparación para saber si es una vocal o no. Mas o menos así:
Código:
Por cada caracter hasta encontrar el '.'
   Si el carácter es alfabético
      Si el carácter es una vocal
         Incrementamos el contador de vocales
      Caso contrario
         Incrementamos el contador de consonantes

Imprimir numero de caracteres
Imprimir numero de vocales
Imprimir numero de consonantes

Par conocer si un carácter es alfabético podemos utilizar la función "isalpha" (prototipo en <ctype.h>) y para conocer si es una vocal una sentencia de selección "switch".

Un saludo
1363  Programación / Programación C/C++ / Re: Calculadora con struct en: 15 Enero 2012, 18:37 pm
La primera recomendación es elegir un lenguaje (C o C++) y enfocarte solo en el, el otro mejor piensa que no existe.

Ello porque así solo tienes que lidiar con un lenguaje, el otro escenario es aprender ambos junto con sus diferencias y si apenas estas empezando lo mejor es lo sencillo.

El programa no funciona correctamente porque (entre otras cosas) comparas el operador con las variables s, r, p y d. Ellas son variables y su valor inicial es "no definido" o "basura" (difícil que haya una coincidencia).

La declaración de la estructura "c" debes colocarla fuera del cuerpo de los condicionales.

Y para comparar el operador debes hacerlo con los caracteres literales 's', 'r', 'p' y 'd'.

Por ejemplo en el primer caso:
Código
  1. struct fraccion c;
  2.  
  3. if (operacion == 's'){
  4.   c.numerador = (a.numerador*b.denominador) +  (b.numerador*a.denominador);
  5.   c.denominador=a.denominador*b.denominador;
  6. }

Por ultimo trata de utilizar nombres descriptivos pero cortos.

Un saludo
1364  Programación / Programación C/C++ / Re: Seleccionar una fila de un array en C en: 15 Enero 2012, 18:25 pm
Si no tienes un curso o libro de calidad deberías conseguir uno, utiliza el motor de búsqueda para consultar los temas relacionados.

Y algo así?

Código:
srand(time(NULL));   
    palabra[i] =1 rand() % 6;
Eso tampoco funcionara ya que estas confundiendo el uso (con "palabra[ i ]") con la asignacion (que ya esta dada cuando declaras el array).

Si quieres imprimir una sola palabra al azar basta con algo mas o menos asi:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int main(void)
  6. {
  7.   char palabra[6][10] = {
  8.      "perro",
  9.      "gato",
  10.      "ordenador",
  11.      "pizarra",
  12.      "lapiz",
  13.      "carpeta"
  14.   };
  15.  
  16.   srand((unsigned) time(NULL));
  17.   printf("Una palabra es %s\n", palabra[rand() % 6]);
  18.  
  19.   return EXIT_SUCCESS;
  20. }

Un saludo
1365  Programación / Programación C/C++ / Re: Probelma en C. Ayuda!!! en: 15 Enero 2012, 18:18 pm
Antes de utilizar una función debes tener acceso a su prototipo y eso se realiza incluyendo el encabezado que corresponda. En el caso de atoi y atof es <stdlib.h>.

Ello porque cuando se llama a una función sin tener acceso al prototipo de esta se asume lo siguiente:

1) El numero de argumentos que recibe esta dado en la llamada.
2) El valor de retorno es int.

Un saludo
1366  Programación / Programación C/C++ / Re: Seleccionar una fila de un array en C en: 15 Enero 2012, 16:17 pm
No lo se pero supongo que no, para estar seguros hay que revisar el código fuente (completo) del programa.

Basado en los fragmentos que pones no funcionara. Debes almacenar las cadenas en un objeto (el array "palabra") y generar el indice almacenándolo en otro (cualquier variable de tipo int como el mencionado "i").

Para procesar la palabra los utilizas juntos con "palabra[ i ]".

Un saludo
1367  Programación / Programación C/C++ / Re: Probelma en C. Ayuda!!! en: 15 Enero 2012, 16:09 pm
El problema se debe a que estas utilizando la función "atoi" para la conversión y ella es quien descarta (mas bien se detiene al encontrar) la parte decimal.

Sustituye el uso de esa función por "atof", su uso es similar pero retorna un numero de punto flotante (tipo double).

Un saludo
1368  Programación / Programación C/C++ / Re: Seleccionar una fila de un array en C en: 15 Enero 2012, 16:03 pm
Utilizando la función "rand" (prototipo en <stdlib.h>), esta resulta en un valor de tipo int entre 0 y RAND_MAX (macro definida en el mismo encabezado).

Ese valor lo reduces mediante la sentencia:
Código
  1. i = rand() % 6;
De esa forma el valor de "i" estara en el rango valido. Lo siguiente es utilizar la palabra con "palabra[ i ]".

Una nota: para evitar obtener los mismos resultados con la función "rand" debes indicar la semilla para los números aleatorios mediante otra funcion ("srand" en el mismo encabezado) para ello es común utilizar la hora del sistema en esta forma:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define NUM_ELEM 16
  6.  
  7. int main(void)
  8. {
  9.   int i;
  10.  
  11.   /* Definimos la semilla utilizando la hora actual */
  12.   srand((unsigned) time(NULL));
  13.  
  14.   /* Impresion de valores en el rango 0 .. NUM_ELEM - 1 */
  15.   for (i = 0; i < NUM_ELEM; i++)
  16.      printf(" %d", rand() % NUM_ELEM);
  17.   putchar('\n');
  18.  
  19.   return EXIT_SUCCESS;
  20. }

Un saludo
1369  Programación / Programación C/C++ / Re: un par de dudas sobre codigo en: 14 Enero 2012, 21:44 pm
Solo un comentario (en buen plan): la variable "b" solo "pasa la cubeta". En otras palabras no es necesaria ya que se puede utilizar la comparación directamente y al contador como bandera de estado.

Eliminando esa variable nos queda:
Código
  1. int cmp(int *p, int *q, int N)
  2. {
  3.   int i;
  4.  
  5.   for (i = 0; i < N && p[i] == q[i]; i++)
  6.      ;
  7.  
  8.   return i == N;
  9. }

Un saludo
1370  Programación / Programación C/C++ / Re: Aprendiendo C,help! Bucle while[?] en: 14 Enero 2012, 18:05 pm
Correcto.

La expresión:
Código
  1. strcmp(Ohelipuerto,"helicoptero") || strcmp(Ahelipuerto,"entrar")
Resulta en 1 (verdadero) si cualquiera de las cadenas no coincide con la literal, solo resulta en 0 (falso) si ambas cadenas son iguales.

Al negarla mediante el operador '!' el bucle "while" se ejecutara solo mientras ambas cadenas coincidan.

Un saludo
Páginas: 1 ... 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 [137] 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 ... 160
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines