Ir ao conteúdo

Posts recomendados

Postado

Boa tarde, pessoal, estou tentando fazer o fatorial de um numero por vez de uma sequência numérica mas está dando LOOP infinito, vejam :

 

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int n,i,fat=1;
	for(n=2;n<=10;n++)
	{
	printf("O fatorial de %d",n);
		for(n;n>0;n--)
		{
		
			fat=fat*n;
			
		}
		 printf("eh %d\n",fat);
	}
	system("pause");
	return 0;
}

 

Postado

Seu programa incrementa n no for externo, e decrementa o n no for interno, então nunca chega em n = 10, logo nunca sai do for externo.

 

Para corrigir copie o valor de n para o outra variável no segundo for, e aí esse for decrementa essa outra variável, e não altera n.

  • Curtir 1
Postado

Boa tarde, 

não sei o que você quis dizer com, "por vez de uma sequência numérica", mas se você quiser fazer fatorial de um número o código é esse. 

#include <stdio.h>
#include <stdlib.h>

int main(void) {

  // Definição de vamor para n
  int n = 7;
  int fat=1;

  printf("O fatorial de %d ",n); //Qualquer valor pra n 

	for(n;n>0;n--)
	{
		
		fat=fat*n;
			
	}
		printf("eh %d\n",fat);

	system("pause");
	return 0;
}

 

Postado

vou tentar aqui, valeu!

 

adicionado 1 minuto depois

@Vitrola Em vez do usuario informar o numero por exemplo 7, eu quero fatorar números de uma sequência pré estabelecida que seria assim FOR(n=1;n<=10;n++) ele vai mostrar o fatorial de 1, depois o de 2, assim por diante até chegar em 10.

adicionado 6 minutos depois

@isrnick Eu fiz isso aqui: 

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int n,i,fat=1;
	for(n=2;n<=10;n++)
	{
	printf("O fatorial de %d\n",n);
		for(i=n;i>0;i--)
		{
		
			fat=fat*i;
			
		}
		 printf("eh %d\n",fat);
	}
	system("pause");
	return 0;
}

só que não da certo os valores do fatorial ficam completamente fora, eu sei que é algum erro no loop, só não sei como corrigir isso.

Postado

@Igor Hugentobler Tá quase certo, o único problema agora é que o valor de fat precisa voltar a ser igual a 1 após antes de calcular um novo fatorial, senão vai ficar multiplicando pelo o valor do fatorial calculado anteriormente, e vai continuar crescendo absurdamente.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!