Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
danisj

C ProgramaFatorial em que o usuario digite dois numeros, e faça o fatorial entre.

Recommended Posts

Preciso fazer um programa usando função, em que um usuário digite 2 números e o programa gere o intervalo fatorial entre eles

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

int fatorial(int x, int y);
int main()
{
    int x,y;
    printf("digite um n");
    scanf("%i",&x);
    printf("digite outro n ");
    scanf("%i",&y);
    printf("%i",fatorial(x,y));
}

int fatorial(int x,int y)
{
    int fatorial = 1;
do
    {

   fatorial = fatorial * y;

    y++;

    }
while (x>=y);
return fatorial;
    do
    {

   fatorial = fatorial * x;

    x++;

    }
    while ( y>=x);
return fatorial;
}


fiz, mas só funciona se x for maior que y, queria que funcionasse pros dois casos

Editado por DiF
Botão CODE <>
  • Curtir 2
  • Confuso 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Intervalo Fatorial? 

 

Veja se entendi! Vamos lá, admita de início que todo intervalo pode ser representado pelos elementos do vetor C de n-termos tal que a ∈ C ∧ b ∈ C, ou seja, ( a ∧ b ) ∈ C, a < b. Exite um conjunto C' que é fatorial C.

 

 C' = { x! ∀  x ∈ C  |  a < x < b } 

 

Nessa caso a resposta é: C'[max(a,b) - min(a,b)]= { x! ∀ x ∈ C | min < x < max }

Resolve:

  1. implemente função para calcular o fatorial de 1 valor.
  2. implemente função para determina o intervalo e salvar cada fatorial em um vetor.
  3. implemente função que a soma dos elementos de um vetor.
  4. Ou implemente 1 função que faz o que faz 1,2 e 3;

 

A função fatorial implementada por você não fez sentido, não para mim.

Agora é com você!

 

Editado por AnsiC
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

1#

Sobre:

Em 28/06/2018 às 05:43, danisj disse:

Preciso fazer um programa usando função, em que um usuário digite 2 números e o programa gere o intervalo fatorial entre eles

O que significa "intervalo fatorial"? Seria algo como, por exemplo tendo os números 5 e 2, ai faço 5x4x3x2? (começa com 5 e termina com 2). Se sim, a base do seu código está correta (apenas algumas ressalvas: como o nome da função, e um erro de lógica citado no 3# etc).

 

 

 

2#

Sobre:

Em 28/06/2018 às 05:43, danisj disse:

fiz, mas só funciona se x for maior que y, queria que funcionasse pros dois casos

Então, existe um "intervalo fatorial" onde y pode ser maior que x???

 

Se sim, explique como deveria funcionar;

Se não, explique como quer que o código se comporte.

 

 

 

3#

Sobre o código. Veja o comentário inserido por mim:

int fatorial(int x,int y) {
    int fatorial = 1;
    do {
        fatorial = fatorial * y;
        y++;
    } while (x>=y);
    
    return fatorial; //esse comando faz finalizar a função, logo as linhas abaixo NUNCA serão executadas
    
    do{ 
       fatorial = fatorial * x;
       x++;
    } while ( y>=x);
    return fatorial;
}

 

adicionado 1 minuto depois

PS: eu acho que entendi o que você quer, mas vamos aguardar a sua resposta para estimular o pouco o auto-raciocínio.

adicionado 6 minutos depois

@AnsiC

Sobre:

22 horas atrás, AnsiC disse:

A função fatorial implementada por você não fez sentido, não para mim.

Pelo que eu entendi, seria fazer um fatorial de a, mas indo apenas até b. Ex.: a=10, b=5. Seria 10*9*8*7*6*5.

 

A única dificuldade está no 2# que citei acima. A sugestão do que precisa fazer está no próprio código dela, mas sugiro aguardamos a resposta dela...

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×