Ir para conteúdo
Fórum Script Brasil
  • 0

Trabalho de programação Linguagem C


fariascac

Pergunta

Boa noite pessoal, sou novo aqui e venho desesperadamente tentar por um programa qual já fiz e refiz e não consigo obter resultado algum. O programa que uso para compilar é o Dev C++, qual é o mesmo que a univerdade de meu curso utiliza. Aliás, curso Engª Mecânica, e com todas as explicações não consigo fazer o bendito programa. Aos que puderem me ajudar, agradeço.

 

Aqui vai:

Escreva um programa em C que leia 15 numeros inteiros quaisquer,
informados pelo usuario e:
a- A cada numero informado diga se ele é par/impar e primo/não-primo;
b- Antes de encerrar diga qual a media aritmetica de cada numero informado, quantos numeros eram primos, qual o maior numero informado, qual o fatorial do menor numero informado, quantos multiplos de 5 foram informados, quantos vezes o numero 22 foi informado.

 

O que tenho no meu mais novo intento é isso (já adianto que está bem incompleto):

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    
        int numero, somanumero, maior, qtdprimos, qtd22, menor, aux, valor, qtidade, ehprimo, cont, fatorialmenor, media, multcinco;    
        
        somanumero=0;
        maior=0;
        qtd22=0;    
        qtidade=0;
        cont=0;
        
            while(cont<=15);
            printf("Informe um numero:     ");
            scanf("%d", numero);
           if ((numero%2)==1)
           
               printf("é impar");
               else{
                printf("é par");
            }
            ehprimo=1;
            aux=numero-1;
            
                while(aux>1)
                    if((numero%aux)==0)
                    ehprimo=0;
                    aux=1;
                    aux=aux-1;
                    if(ehprimo=1)
                        printf("é primo");
                    else{
                    
                        printf("não é primo");}
            
            
            printf("Media aritimetica dos numeros informados = %d", media);    
            printf("A quantidade de primos informados = %d", qtdprimos);    
            printf("O maior numero informado = %d", maior);    
            printf("Qual o fatorial do menor numero informado = %d", fatorialmenor);    
            printf("Quantas vezes o 22 foi informado = %d", qtd22);   
            printf("Quantas multiplos de cinco = %d", multcinco); 
    
    return 0;
}

 

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

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

/*Escreva um programa em C que leia 15 numeros inteiros quaisquer,
informados pelo usuario e:
a- A cada numero informado diga se ele é par/impar e primo/não-primo;
b- Antes de encerrar diga qual a media aritmetica de cada numero informado,
quantos numeros eram primos, qual o maior numero informado, qual o fatorial
do menor numero informado, quantos multiplos de 5 foram informados, quantos vezes o numero 22 foi informado.*/

int j;

int par, primo;

/*função geral que calcula quantas vezes aparece o 22, quantos primos,
quantos multiplos de cinco e se é par/impar primo/não-primo*/

int ParImparPrimo (int n, int *primos, int *info22, int *mult5)

{

if (n == 22)

    *info22 = *info22 + 1;

if ((n%5)==0)

    *mult5 = *mult5 + 1;

if ((n%2) != 0)

    {

    printf ("%d eh impar\n", n);

    par = 0;

    }

 else

    {

     printf ("%d eh par\n", n);

     par = 1;

    }

    if (n>=2)

        {

        for (j=2; j<=n; j++)

        {

            if ((n%j) == 0 && (n!=j))

                {

                primo = 0;


                break;

                }

                primo = 1;

          }

        if (primo == 1)

            {

            printf ("%d eh primo\n\n", n);

            *primos = *primos + 1;

            }


        if (primo == 0)

            {

            printf ("%d nao eh primo\n\n", n);

            }

        }


     if (n<2)

     {

     printf ("\n\n~~~~~O número %d eh menor do que 2~~~~~\n\n", n);

     }


 return *primos, *mult5, *info22;

    }


int main()

{


    int primos = 0;

    int info22 = 0;

    int mult5 = 0;

    int backup;

    int mediarit = 0;

    int fatorial=0;

    int numeros [15];

    int i, p;

    for (i=0; i<15; i++)

        {

        printf ("Digite o número %d de 15: ", i+1);

        scanf ("%d", &numeros[i]);

        printf ("\n\n");

        ParImparPrimo (numeros[i], &primos, &info22, &mult5);

        }

        //checa o menor e o maior número. O menor será colocado no primeiro índice do array, e o maior no último.



    for (i=0; i<15; i++)

        {

            for (p=i+1; p<15; p++)

                {

                    if (numeros[i]>numeros[p])

                        {

                        backup = numeros[i];

                        numeros[i] = numeros[p];

                        numeros[p] = backup;

                        p = i;

                        }

                }

        }

    //calcula média aritmética

    for (i=0; i<15; i++)

        {

        mediarit = mediarit + numeros [i];

        }

    mediarit = mediarit / 15;

   // calcula fatorial do menor número

    for (i = (numeros[0] - 1); i>=1; i--)

        {

        fatorial = fatorial + (numeros[0]*i);

        }

printf ("\nA media aritmetica dos numeros informados eh: %d\n", mediarit);
printf ("A quantidade de numeros primos eh: %d\n", primos);
printf ("O maior numero informado eh: %d\n", numeros[14]);
printf ("O menor numero informado eh: %d e o seu fatorial eh: %d\n", numeros[0], fatorial);
printf ("Existem %d multiplos de 5\n", mult5);
printf ("O numero 22 foi informado %d vezes\n", info22);

return EXIT_SUCCESS;

}

Dê uma estudada nesse código. Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

A função de calculo de fatorial do codigo acima está errada, o certo seria:

 

 for (i = numeros[0]-1; i>=1; i--)

        {

        if (i==numeros[0]-1)


            {

            fatorial = numeros[0]*i;

            }

         else

            {

            fatorial = fatorial * i;

            }



        }

Ou então um modo mais genérico, mas inverte a ordem de cálculo, tal como vemos no código abaixo:

 


#include <stdio.h>
 
int main()

{

int fat, n;

printf("Insira um valor para o qual deseja calcular seu fatorial: ");

scanf("%d", &n);
 
for(fat = 1; n > 1; n = n - 1)

fat = fat * n;
 
printf("\nFatorial calculado: %d", fat);

return 0;

}

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...