C/Visual C - Ayuda en crear un contador y un loop

   
Vista:

Ayuda en crear un contador y un loop

Publicado por Duncan (1 intervención) el 29/10/2017 23:11:55
Buenas tardes, me encuentro trabajando en una tarea para donde estudio y tengo un código 90% listo, me faltan dos elementos.

1) Es comprender que rayos el profe quiere con esto:

1
2
3
while (exponente>0)
{ 	p*=base;
	exp=exp-1; }

p*=base tira error.


2) Montar alguna formula de que cuando se presente un exponente negativo me haga las multiplicaciones sucesivas.

Es decir, si tengo 8^-2 que el programa haga 2/(8*8), etc.

Abajo les dejo el código, disculpen que no este muy bien identado:

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
/*Mediante una funcion calcule la potencia de un nùmero ingresado por teclado*/
 
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
 
float pot(float base, float exponente)
 
{return pow(base, exponente);}
 
float base, exponente, resultado;
 
int main()
 
{
	printf("Ingrese el valor de la base: ");
	scanf("%f", &base);
 
	printf("Ingrese el valor del exponente: ");
	scanf("%f", &exponente);
 
	resultado=pow(base, exponente);
 
	if(exponente==0)
	{resultado=1;}
 
	if (exponente<0)
	{
		base=exponente/(base);
		exponente=exponente;
	}
 
	printf("El resultado de elevar la base: %.2f a la potencia: %.2f es: %.2f.",base,exponente,resultado,pow(base, exponente));
 
	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

Ayuda en crear un contador y un loop

Publicado por Thanatos (20 intervenciones) el 31/10/2017 10:12:39
1) Por lo que se ve en el código, el profesor quiere que obtengas el resultado de la potenciación sin utilizar la función pow() de C. En lugar de eso quiere que uses un acumulador para almacenar el resultado de las multiplicaciones.

Si la linea:

1
p *= base;

ocasiona un error, probablemente no has inicializado la variable p.


2) 8 ^ -2 no es igual a 2 / (8 * 8). Es igual a 1 / (8 * 8).

Cuando el exponente es negativo las multiplicaciones se realizan de la misma manera, pero al final se divide 1 entre el resultado de las multiplicaciones, tomando en cuenta las reglas de los signos al hacer las operaciones.
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
Revisar política de publicidad