Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ascfla

com potência em PG

Recommended Posts

amigos estou com uma dúvida cruel..

como usar a tal potência no algoritmo de progressão aritmética ?

no portugol como outro amigo mesmo postou ,seria assim :

Q : é a razão da PG ;

A1 : é o primeiro termo;

AN : é o último termo;

N : é o numero de termos

AN = A1 * Q elevado a (N-1)

 

mas não faço ideia de como implementar isso .. alguem pode ajudar ?

 

no meu código os dados serão inseridos via parametro.. entao ate agora tá assim :

CODE

/*Pg*/

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

 

int main( )

 

{

int i, a1,ntermos, r,x=1;

 

while(x==1)

{

system("cls");

printf("\nEntre com o primeiro termo: ");

scanf("%d",&a1);

printf("\nEntre com a razao: ");

scanf("%d",&r);

printf("\nEntre com o numero de termos");

scanf("%d",&ntermos);

 

for(i=1;i<=ntermos;i++)

{

printf("%d ",a1);

// a1 = (a1 * r (elevado a (ntermos-1))); <<< --- aki está o problema ... ???

 

}

 

printf("\n");

printf("deseja entrar com um novo vetor ? (1=sim 0= nao) ");

scanf("%d",&x);

}

system ("pause");

return 0;

}

 

 

se alguem puder ajudar.. serei imensamente grato..

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja sobre a função pow();

A função pow() calcula a base elevada à uma potencia.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é até vi no C completo e total , mas fala muito pouco sobre isso..

apenas que usa a biblioteca

 

#include <math.h>

double pow(double base,double exp);

 

e num exemplo de código a instrução dentro de um do... while :

printf .... "..." , pow (xy);

e a dúvida é.. com implementar a lógica : primeiro numero da progressão elevado a razão decrementando de 1... a cada loop..

 

 

e aí galera.. alguem tem alguma ideia de como fz isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou fazer esse que tô com preguiça de criar um post cheio de firulins e outras coisas. Dá uma estudada aí campeão:

 

/*Pg*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main( )

{
int i, a1,ntermos, r,x=1;
int *pg;

while(x==1)
{
system("cls");
printf("\nEntre com o primeiro termo: ");
scanf("%d",&a1);
printf("\nEntre com a razao: ");
scanf("%d",&r);
printf("\nEntre com o numero de termos");
scanf("%d",&ntermos);
pg = (int*) malloc(sizeof(int) * ntermos);
pg[0] = a1;
printf(a1);
for(i=1;i<ntermos;i++)
{
printf("%d ",a1);
pg[i] = a1 * pow(r, i);
//isso aqui já nos faz um favor: i = 1 é o segundo elemento da array, então não precisamos subtrair i de um na hora de calcular a potência
}

printf("\n");
printf("deseja entrar com um novo vetor ? (1=sim 0= nao) ");
scanf("%d",&x);
}
system ("pause");
return 0;
}
Não testei qualquer problema avisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá amigo José Enésio vlw. pela ajuda.. seguinte..

coloquei pra rodar aki no Dev-C e apontou os seguinte erros e nao consegui indentificar exatamente o q pode ser

 

 

pg.cpp:22: error: invalid types `int[int]' for array subscript

pg.cpp:23: error: invalid conversion from `int' to `const char*'

pg.cpp:23: error: initializing argument 1 of `int printf(const char*, ...)'

pg.cpp:27: error: invalid types `int[int]' for array subscript

 

 

pg = a1 * pow(r, i); no caso o primeiro erro apontado foi nessa linha..

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom aki rodei no TC e o erro q eu observei era em um printf q naum estava dizendo o tipo de dado, e tbm pq no loop estava errado, o printf tem q vir depois da função pow(); e tem q exibir o pg e naum o a1;

+ agora vai o codigo:

/*Pg*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main( )

{
int i, a1,ntermos, r,x=1;
int *pg;

while(x==1)
{
system("cls");
printf("\nEntre com o primeiro termo: ");
scanf("%d",&a1);
printf("\nEntre com a razao: ");
scanf("%d",&r);
printf("\nEntre com o numero de termos");
scanf("%d",&ntermos);
pg = (int*) malloc(sizeof(int) * ntermos);
pg[0] = a1;
printf("%d ",a1);
for(i=1;i<ntermos;i++)
{
pg[i] = a1 * pow(r, i);
printf("%d ",pg[i]);
}

printf("\n");
printf("deseja entrar com um novo vetor ? (1=sim 0= nao) ");
scanf("%d",&x);
}
system ("pause");
return 0;
}

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po .. vlw quitZAUMMM um printf fora do lugar.. bagunça td.. e outro lance q tava vendo é o scanf.. que é meio falho as vezes...

desde já obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.