C - Somador

Yannick

Power Member
Olá, eu queria fazer algo do tipo, eu digo ao programa qual é o máximo que vai somar e ele soma até aí de um a um... tipo digo que o máximo vai ser 10 e ele soma 1+2+3+4, dizendo qual foi o último número k foi somado.
 
basta um loot, como não disseste a linguagem fica aqui um em C:
Código:
int N = 10;
int resultadoFinal = 0;

for( int i = 1; i < N; i++ )
    resultadoFinal += i;

btw: ali no for é i < N ou i <= N conforme se é para incluir o maximo ou não.
 
n e bem assim k eu keria o programa...Soma de de 1 a 1 até a soma ser igual a 10 dizendo o ultimo numero.
porque aí parece-me que vai somar tudo até ao ultimo numero antes do máximo...
é qualquer coisa do tipo: Defino máximo=6 ele vai somar, 1+2+3 = 6, e o ultimo numero é o 3.
 
Corrigindo o código do sapropel:
Código:
int N = 10;
int resultadoFinal = 0;

for( int i = 1; [color=red]resultadoFinal[/color] < N; i++ )
    resultadoFinal += i;
 
Corrigindo o código do sapropel:
Código:
int N = 10;
int resultadoFinal = 0;

for( int i = 1; [color=red]resultadoFinal[/color] < N; i++ )
    resultadoFinal += i;

peço desculpa se estiver errado mas o que ele quer não é somar todos os numeros anteriores a um numero dado?

o exemplo 10 outra vez: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45
no código que postei faz exactamente isso, soma ao resultadoFinal o numero em i, antes que este chegue a N

ou então percebi a pergunta mal =)
 
peço desculpa se estiver errado mas o que ele quer não é somar todos os numeros anteriores a um numero dado?

o exemplo 10 outra vez: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45
no código que postei faz exactamente isso, soma ao resultadoFinal o numero em i, antes que este chegue a N

ou então percebi a pergunta mal =)

Defino máximo=6 ele vai somar, 1+2+3 = 6, e o ultimo numero é o 3.

Percebeste mal.
 
Re-corrigindo o código do sapropel:
Código:
int N = 10;
int resultadoFinal;
int [COLOR=Red]soma[/COLOR] = 0;

for( int i = 1; [COLOR=red]soma[/COLOR] < N; i++ )
{
    soma += i;
    resultadoFinal = i;
}
Penso que seja isto
 
#include <stdio.h>

int main(void){
int limite;
int numerofinal;
int i;

printf("Qual e o limite? ");
scanf("%d",limite);

for(i=1;numerofinal<limite;i++){
numerofinal +=i;

}
printf("O ultimo numero e %d",numerofinal);
}



Tenho isto, e dá-me k o numerofinal é 0...
 
Isto...resultado diz que o numero final é 0.



#include <stdio.h>

int main(void){
int limite;
int numerofinal;
int i;
int soma=0;


printf("Qual e o limite? ");
scanf("%d",limite);

for(i=1;soma<limite;i++){
soma +=i;
numerofinal = i;


}
printf("O ultimo numero e %d",numerofinal);
}
 
Com aquele código realmente não fazia, porque o i desaparece no fim do ciclo, mas podia fazer asism:

Código:
int main() {

    int i,soma=0,n;
    printf("Qual o limite?");
    scanf("%d",&n);
    for (i=1;soma<n;i++)
        soma+=i;
    printf("O ultimo numero somado: %d",i-1);
    return 0;
}
Então sempre precisas de mais uma variável :P
 
Back
Topo