Ayuda a entender este código

Iniciado por Bastiannjs, 7 Septiembre 2017, 20:05 PM

0 Miembros y 1 Visitante están viendo este tema.

Bastiannjs

Buenas tardes a todos. Soy nuevo en el foro y programando en c++ también.

En estos momentos estoy viendo el tema de funciones y desarrollé varios ejercicios a excepción de uno que me pasó un compañero, en general es breve pero no logro entender por completo la función.

El ejercicio es el siguiente:

10. Programa que calcule las potencias desde 2 hasta 10 de la constante Pi y la raíz cuadrada de dicha potencia. Para ello construye una función que calcule la potencia enésima de un número cualquiera y utiliza después la función sqrt de la librería matemática de C.

Y este es su código:

#include <stdio.h>
#include <math.h>

float potencia(float, int); // Declara la funcion sumar_digitos como entero, devuelve un entero utilizando la variable suma

float Pi = 3.141592;

int main()
{

int contador;
float res_pot;
portada();

for(contador=2;contador<=10;contador++)

{
res_pot = potencia(Pi, contador);

printf("\nPi elevado a la %d es %.2f y su raiz es %.2f ", contador, res_pot, sqrt(res_pot));
}

return 0;
}

float potencia(float a, int b)
{
int i;
float resultado = 1.0;
for(i=1;i<=b;i++)
{
resultado = resultado * a;
}
return resultado;
}


El proceso que no entiendo es el contador de la función y como se relaciona con el primer contador del main().

Si alguien me puede aclarar esta parte se los agradecería.

ivancea96

Antes de seguir, ¿cómo harías tú una función que calcule una potencia? en en cuenta que una potencia es multiplicar N veces un número por sí mismo.

El for tiene un i de 1 hasta b, es decir, va a ejecutarse "b" veces. Y nada, lo dicho, multiplica el número a b veces. a*a*a*a.

CitarEl proceso que no entiendo es el contador de la función y como se relaciona con el primer contador del main().
El contador va desde 1 hasta b, el parámetro que se le pasó en main.