Ir para conteúdo

POWERED BY:

Arquivado

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

Guissinhu

Problema com POW e for

Recommended Posts

Boa noite,
Eu estou tendo problema com um código.
O objetivo dele é o usuário inserir 2 números inteiros no programa e ele calcular a soma acumulada da potência dele.
Por exemplo: 2 3
O programa iria calcular a soma: 2^1 + 2^2 + 2^3 e retornar 14.
Mas ele retorna: -2147483648 p/ qualquer números inseridos.

#include <stdio.h>
#include <stdlib.h>
#include <math.h> //P/ usar potência
main(){
       int N, M, S, I;
       printf("Forneca 2 numeros inteiros: \n");
       scanf("%d, %d", &N, &M);
       S=0;
       for(I=1; I<=M; I++)
                S=S+pow(N,I);
       printf("A soma e: %d \n", S);
       system("PAUSE");
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve inicializar as variáveis antes de utilizá-las. Para evitar esse tipo de BUG.

 

C/C++, não coloca valores automaticamente quando você declara uma variável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o tipo de pow? Quais os tipos de S, N e I?

 

O Guidjos está correto, mas, em primeira instância, os parâmetros da função scanf estão mal formatados. Quanto a função pow, só dará problemas quando N ou M for grande.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o tipo de pow? Quais os tipos de S, N e I?

 

Desculpe, sou novo nisso, mas o quê quis dizer?

 

Eu acabei pegando o código de uma amiga minha e está idêntico...

Será que tem alguma relação em eu usar o Win 8 e ela Win 7?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa o segundo post seguido, mas consegui resolver o problema.
Tinha uma vírgula no meio do scanf que eu não havia percebido e troquei de PC, deu certo.
Obrigado mesmo assim =D

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.