Ir ao conteúdo
  • Cadastre-se

C Programa C (2 exercicios)


Posts recomendados

Olá pessoal,
tenho 2 exercícios que estou tentando resolver em linguagem C, porém estou travado nelas a 4 dias.
Agradeço muito se me ajudarem.

Segue:

1) Faça um programa que leia 5000 números reais, armazene-os em um vetor, e a partir do vetor, determine a média aritmética entre o maior valor e o menor valor armazenados nele:

-------------------------------------------------------------------------------------------------------------------------------------------------------------


2) Fazer um programa para:

a) receber 3 notas parciais do aluno em um vetor e a nota do exame em uma variável separada (-1 se o aluno não fez exame).
b) chamar a função SITUAÇÃO, com as seguintes características:
   i) Parâmetros: vetor de notas parciais e nota do exame
   ii) Retorno: 0 se o aluno está reprovado direto, 1 se o aluno está reprovado em exame, 2 se o aluno está aprovado em exame e 3 se ele está aprovado direto.

Use o seguinte critério de avaliação:

Média das 3 notas parciais > 7 => aprovado direto

Média das 3 notas parciais + EXAME >=5 => aprovado em exame

Média das 3 notas parciais + EXAME < 5 => reprovado em exame

Média das 3 notas parciais < 2,5 => reprovado direto

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá @Brunno Dornelas da Silva.

15 minutos atrás, Brunno Dornelas da Silva disse:

tenho 2 exercícios que estou tentando resolver em linguagem C, porém estou travado nelas a 4 dias.
Agradeço muito se me ajudarem.

Certo. Em que parte está com dificuldades?

 

 

 

15 minutos atrás, Brunno Dornelas da Silva disse:

1) Faça um programa que leia 5000 números reais, armazene-os em um vetor, e a partir do vetor, determine a média aritmética entre o maior valor e o menor valor armazenados nele:

Simplifique o exercício... fala um programa com apenas 5 números reais... mais pra frente vemos como fazer com os 5K.

 

 

No aguardo.

adicionado 0 minutos depois

*faça um

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Então @Simon Viegas eu não consegui iniciar esses doi sexercicios pois não sei quais códigos devo utilizar (Funções, ponteiros, repetições)...

Sou bem leigo na linguagem C ainda (consigo entender um programa feito, mas tenho dificuldades em inicia-lo do zero em alguns casos). 

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
25 minutos atrás, Brunno Dornelas da Silva disse:

Então @Simon Viegas eu não consegui iniciar esses doi sexercicios pois não sei quais códigos devo utilizar (Funções, ponteiros, repetições)...

Sou bem leigo na linguagem C ainda (consigo entender um programa feito, mas tenho dificuldades em inicia-lo do zero em alguns casos). 

 

 

Dê uma olhada em outros tópicos aqui do Fórum... dá uma estudada nos códigos. Tente fazer algo.

 

Você precisa fazer algo e dizer em qual parte não está entendendo.

 

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Simon Viegas disse:

 

Dê uma olhada em outros tópicos aqui do Fórum... dá uma estudada nos códigos. Tente fazer algo.

 

Você precisa fazer algo e dizer em qual parte não está entendendo.

 

 

No aguardo.

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

int main(){
    
 	int vetor[5]; // Declarando o vetor com 5 elementos inteiros.
    int maior, menor, media,i = 0;
    printf("\n\t\tMaior e menor valor de um vetor de inteiros.\n\n");

    // Recebendo os valores do vetor.
    for (i ; i<5 ; i++)
	{
        printf(" vetor[%d]: ", i);
        scanf("%d", &vetor[i]);
    }  
    /* 
    As variáveis, maior e menor, recebem inicialmente o valor
    do primeiro elemento do vetor, ou seja, A[0].
    */
    maior = vetor[0]; 
    menor = vetor[0];

    for (i; i < 5; i++) 
	{
        if (vetor[i] > maior) maior = vetor[i];
        if (vetor[i] < menor) menor = vetor[i];
    }   
	media = (maior+menor)/2;
        
    printf("\n Maior: %i\n", maior);
    printf(" Menor: %i\n", menor);
    printf(" Media: %i", media);
        
    getch();
    return 0;
}

Executando esse programa, os valores de "maior" "menor" e "media" deram os mesmos.

qual erro posso ter cometido?

adicionado 14 minutos depois

Consegui resolver o exercicio 1)

o problema estava no ciclo for (eu estava atribuindo 0 na variavel "i" fora dos ciclos

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

int main(){
    
 	int vetor[5]; // Declarando o vetor com 5 elementos inteiros.
    int maior, menor, media,soma, i;
    printf("\n\t\tMaior e menor valor de um vetor de inteiros.\n\n");

    // Recebendo os valores do vetor.
    for (i=0 ; i<5 ; i++)
	{
        printf(" vetor[%d]: ", i);
        scanf("%d", &vetor[i]);
    }  
    /* 
    As variáveis, maior e menor, recebem inicialmente o valor
    do primeiro elemento do vetor, ou seja, A[0].
    */
    
    menor = vetor[0];   
    maior = vetor[0];
    
    for (i=0; i < 5; i++) {
        if (vetor[i] > maior){		
		maior = vetor[i];

    }
	}
    
    for (i=0; i < 5; i++) {
        if (vetor[i] < menor){
		
		menor = vetor[i];
    } 
	}  
   
	soma = maior + menor;
	media = soma/2;
        
    printf("\n Maior: %d\n", maior);
    printf(" Menor: %d\n", menor);
    printf(" Media: %d", media);
        
    getch();
    return 0;
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

1 hora atrás, Brunno Dornelas da Silva disse:

Consegui resolver o exercicio 1)

o problema estava no ciclo for (eu estava atribuindo 0 na variavel "i" fora dos ciclos

 

Certo. Agora tente fazer que o programa gere esses 5 números automaticamente. (dá um Google sobre o tema)

 

Após, mude e ajuste para 5000.

 

 

No aguardo.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, Simon Viegas disse:

Olá.

 

 

Certo. Agora tente fazer que o programa gere esses 5 números automaticamente. (dá um Google sobre o tema)

 

Após, mude e ajuste para 5000.

 

 

No aguardo.

 Então @Simon Viegas achei aqui no forum um comando que chama "rand()"

utilizei ele pra jogar numeros aleatórios no meu vetor... porém ele joga na tela o numero maximo como 4999, e nunca joga 5000.. ja tentei mudar os valores pra <=5000 ou <50001 mas continua a mesma coisa,

da uma olhadinha aqui:

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

int main(){
    
 	int vetor[5000]; // Declarando o vetor com 5 elementos inteiros.
    int maior, menor, media,soma, i;
    printf("\n\t\tMaior e menor valor de um vetor de inteiros.\n\n");

    // Recebendo os valores do vetor.

    for(i=0;i<5001;i++){
     vetor[i]=1+rand()%5000;
}
    /* 
    As variáveis, maior e menor, recebem inicialmente o valor
    do primeiro elemento do vetor, ou seja, A[0].
    */
    
    menor = vetor[0];   
    maior = vetor[0];
    
    for (i=0; i < 5001; i++) {
        if (vetor[i] > maior){		
		maior = vetor[i];

    }
	}
    
    for (i=0; i < 5001; i++) {
        if (vetor[i] < menor){
		
		menor = vetor[i];
    } 
	}  
   
	soma = maior + menor;
	media = soma/2;
        
    printf("\n Maior: %d\n", maior);
    printf(" Menor: %d\n", menor);
    printf(" Media: %d", media);
        
    getch();
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá a todos.

 

 

Vejam o que diz o enunciado:

19 horas atrás, Brunno Dornelas da Silva disse:

1) Faça um programa que leia 5000 números reais, armazene-os em um vetor, e a partir do vetor, determine a média aritmética entre o maior valor e o menor valor armazenados nele:

 

Citando:

14 horas atrás, Brunno Dornelas da Silva disse:

porém ele joga na tela o numero maximo como 4999, e nunca joga 5000.. ja tentei mudar os valores pra <=5000 ou <50001 mas continua a mesma coisa,

 

Então, quem disse que o valor sorteado tem que ficar em 1 e 5000? 5000 é o tamanho do vetor, não a margem dos números.

 

 

PS: como sugerido:

16 horas atrás, Simon Viegas disse:

Certo. Agora tente fazer que o programa gere esses 5 números automaticamente.

 

Você já está tentando fazer com 5000. Um passo de cada vez.

 

 

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!