Dev - C++ - Una función que reciba dos enteros (positivos o negativos) y devuelva la potencia de ambos.

 
Vista:
Imágen de perfil de Gaston
Val: 114
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Una función que reciba dos enteros (positivos o negativos) y devuelva la potencia de ambos.

Publicado por Gaston (40 intervenciones) el 17/03/2021 19:28:28
que tal gente.

si me pueden dar una ayuda con éste ejercicio se los agradecería.
Les envío parte del código hasta donde pude hacer.

Gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*******************************************************************************************************************************
Hacer una función que reciba dos enteros (positivos o negativos)  y devuelva la
potencia de ambos. Luego leer 5 pares de enteros y por cada uno de los pares mostrar los dos números y su potencia.
**************************************************************************************************************************************/
 
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
 
//----------------------------------------------------------------------------------------------------
 
float potencia(int a, int b)
{
  int i;
  float res; //resultado es de tipo float
 
  res=1;
 
  /* utilizo un ciclo for para contar 1,2,3,4 hasta que llegue el valor absoluto  de "b". ej: 2 elevado a la -3 es 2x2x2   Inicializo en 1 la variable.
     y la funcion abs() es el valor absoluto  */
 
  for(i=1;i<=abs(b);i++)
     res=res*a;
    /*Acá tengo en cuento si estoy elevando a un exponente negativo.  si el exponente es positivo las dos sentencias siguientes no se
       ejecutan */
    if(b<0)
      res=1/res;
 
     return res;
 
}
 
void leer_nro(char cade[30], int &a)
{
  printf("\n%s:",cade);
  scanf("%d", &a);
  fflush(stdin);
 
}
 
void pausar()
{
  printf("\n");
  system("pause");
 
}
 
//------------------------------------------------------------------------------------------------------------------
 
int main()
{
    int base;
    int exp;
    float pot;
 
 
        leer_nro("\n ingrese la base ",base);
        leer_nro("\n ingrese el exponente ",exp);
 
 
 
    pot=potencia(base,exp);
 
    //esta es una manera de pasar los parámetro de la función potencia
    printf("\n la potencia de %d elevado a la %d es %2.2f ",base,exp,pot);
 
 
    pausar();
 
    return 0;
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Una función que reciba dos enteros (positivos o negativos) y devuelva la potencia de ambos.

Publicado por Alfil (1444 intervenciones) el 17/03/2021 20:29:49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
 
float potencia(float x, int y);
 
int main()
{
    float a;
    int b;
 
    printf("\nBase: "); scanf("%f", &a);
    printf("Potencia: "); scanf("%d", &b);
 
    printf("\n%.2f elevado a %d es %.2f\n", a, b, potencia(a, b));
 
    return 0;
}
 
float potencia(float x, int y)
{
    float result;
 
    if (y == 0) result = 1.0;
    else if (y > 0) result = x * potencia(x, y - 1);
    else if (y < 0) result = 1.0 / x * potencia(x, y + 1);
 
    return result;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gaston
Val: 114
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Una función que reciba dos enteros (positivos o negativos) y devuelva la potencia de ambos.

Publicado por Gaston (40 intervenciones) el 17/03/2021 20:50:25
Hola Alfil

Gracias por responder.

Mirá, el ejercicio que publiqué en lenguaje C, ya calcula la base de un número entero "positivo o negativo" y el exponente de un número entero "positivo o negativo" también. Esa función nos paso la profesora como ejemplo, la compilé y funciona.

El punto que me falta resolver: Que lea 5 pares de enteros y por cada uno de los pares mostrar los dos números y su potencia. En éste punto estoy intentado con algún ciclo !!!!

Ese es el que me faltan que no logró resolver.

Igualmente mil gracias por tu ayuda !!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Una función que reciba dos enteros (positivos o negativos) y devuelva la potencia de ambos.

Publicado por Alfil (1444 intervenciones) el 17/03/2021 21:12:15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
 
float potencia(float x, int y);
 
int main()
{
    float a;
    int b;
 
    for (int i = 1; i <= 5; i++)
    {
        printf("\nBase: "); scanf("%f", &a);
        printf("Potencia: "); scanf("%d", &b);
 
        printf("\n%.2f elevado a %d es %.2f\n", a, b, potencia(a, b));
    }
 
    return 0;
}
 
float potencia(float x, int y)
{
    float result;
 
    if (y == 0) result = 1.0;
    else if (y > 0) result = x * potencia(x, y - 1);
    else if (y < 0) result = 1.0 / x * potencia(x, y + 1);
 
    return result;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Gaston
Val: 114
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Una función que reciba dos enteros (positivos o negativos) y devuelva la potencia de ambos.

Publicado por Gaston (40 intervenciones) el 18/03/2021 17:23:15
Mil gracias Alfil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar