Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: FerJGS en 8 Diciembre 2010, 17:16 pm



Título: Problema con For en C.
Publicado por: FerJGS en 8 Diciembre 2010, 17:16 pm
Hola chicos, estoy empezando con C, C normal. Quiero hacer un mini programa que calcule potencias utilizando un bucle for. Ya sé que hay comandos en otras bibliotecas pero es que ahora quiero hacerlo con for. Tengo un código como este.

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. int main() {
  5.    int base, exp;
  6.    printf("Escriba la base:  ");
  7.    scanf ("%i", &base);
  8.    printf ("\nEscriba el exponente: ");
  9.    scanf ("%i", &exp);
  10.    printf ("Elevamos %i a la %i¦ potencia\n", base, exp);
  11.  
  12.    int cnt = 1;
  13.    int res;
  14.    int reslt;
  15.  
  16.    for ( res=2 ; cnt==exp ; res++, cnt++ )
  17.    {
  18.    res = res * base;
  19.    }
  20.    printf ("El resultado es %i.", res);
  21.    return 0;
  22. }

¿Por qué no me da la respuesta correcta? Cuando elevo 2² o 2³ me sale que el resultado es 2. ¿Dónde está el fallo? Muchas gracias.


Título: Re: Problema con For en C.
Publicado por: bomba1990 en 8 Diciembre 2010, 17:50 pm
Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. int main() {
  5.    int base, exp;
  6.    printf("Escriba la base:  ");
  7.    scanf ("%i", &base);
  8.    printf ("\nEscriba el exponente: ");
  9.    scanf ("%i", &exp);
  10.    printf ("Elevamos %i a la %i&#166; potencia\n", base, exp);
  11.  
  12.    int reslt = 1;
  13.  
  14.    for ( int i = 0 ; i<exp ; i++)
  15.    {
  16.        reslt *= base;
  17.    }
  18.    printf ("El resultado es %i.", reslt);
  19.    return 0;
  20. }

aqui lo acomode

te estabas enredadando imprimiendo res y creo que tenias que imprimir era reslt, y ademas el programa se va a ejecutar mientras la segunda condicion del bucle sea verdadera. y si comparas == a menos que siempre sean iguales no se va a a ejecutar.

pd: este es mi mensaje 200. jeje:D


Título: Re: Problema con For en C.
Publicado por: FerJGS en 8 Diciembre 2010, 17:56 pm
¡La leche! Funciona, gracias. Nop sé si lo he pillado bien ¿
Sólo se puede usar a partir de la "i" en for?. Bueno, es igual. Lod el reslt era una errata. Gracias por resolver mi duda.


Título: Re: Problema con For en C.
Publicado por: JuszR en 8 Diciembre 2010, 21:42 pm
Sólo se puede usar a partir de la "i" en for?.
¿A qué te refireres?
En el for puedes usar cualquier variable pero generalmente se usa una letra (a, b, c, i...).