Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

viictorragassi

8 Exercicios para Revisão

Recommended Posts

Boa noite pessoal! sou novo na comunidade, acompanho a algum tempo, mas sem registro, ai hoje, acabei de finalizar uma lista de exercicios com 8 exercicios mas, alguns não deram certo e outros não consegui começar, se puderem me ajudar, segue os algoritimos:

/*3 - Escrever um algoritmo que, dada uma seqüência de valores inteiros, digitadas pelousuário, determine qual é o menor valor desta seqüência e a média aritmética dos valorespares. O valor 0 (zero) indica o término dos dados de entrada(finalizador, utilizar o DO... WHILE para finalizar o algoritmo.).*/#include <conio.h>#include <stdio.h>main(){do{	int	printf("Entre com a sequencia de valores inteiros: " );}

/*4 - Construa um algoritmo que leia um conjunto de dados contendo altura e sexo(M para masculino e F para feminino) de 50 pessoas e, depois, calcule e escreva: a maior e a menor altura do grupo; a média de altura das mulheres; o número de homens e a diferença percentual entre estes e as mulheres.*/#include <stdio.h>#include <stdlib.h>main(){	char sexo;	float hmulher, maior, menor, mmulher, phomem, dperc;	float altu;	int mulher, homem;	for(int i=0;i<5;i++){		printf("Altura: ");		scanf("%f", &altu);		printf("Sexo: ");		scanf("%s", &sexo);/*	if ((sexo != 'f') || (sexo != 'F') || (sexo != 'm') || (sexo != 'M')){		printf("OPCAO INVALIDA!!");		return 0;	}*/	if (altu > maior){		maior = altu;	}else if (altu < menor){		menor = altu;	}if ((sexo = 'F' || sexo == 'f')){		hmulher = hmulher + altu;		mulher++;	}if (mulher == 0){		mmulher = 0;	}else{		mmulher = hmulher/mulher;	}	}		homem = 5 - mulher;		phomem = 2 * homem;		dperc = 100 - phomem;			printf("Maior Altura: %.2f\n", maior);			printf("Menor Altura: %.2f\n", menor);			printf("Media -> Mulheres: %.2f\n", mmulher);			printf("Diferença de Porcent: %2.2f", dperc);system("pause");return 0;}

/*5 - Um cinema possui capacidade de 150 lugares e está sempre com ocupação total.Certo dia, cada espectador respondeu a um questionário, no qual constava: sua idade; sua opinião em relação ao filme, segundo as seguintes notas:Elabore um algoritmo que, lendo estes dados, calcule e imprima: a quantidade de respostas ótimo; ok a diferença percentual entre respostas bom e regular; ok a média de idade das pessoas que responderam ruim; a percentagem de respostas péssimo;*/#include <stdio.h>#include <stdlib.h>main (){	int idade, a, b, c, d, e, pessoas, op, SomaRuim;	pessoas = 150;	a = 0; b = 0; c = 0; d = 0; e = 0;	int maiorIO, maiorIR, maiorIP;	maiorIO = 0; maiorIR = 0; maiorIP = 0;	for(int i = 0; i<150; i++){		printf("Idade: ");		scanf("%d", &idade);		printf("Opiniao:\n1 - Otimo, 2 - Bom, 3 - Regular, 4 - Ruim, 5 - Pessimo ");		scanf("%d", &op);		if(op == 1){			a++;			if(idade>maiorIO){				maiorIO = idade;			}		}else if(op == 2){			b++;		}else if(op == 3){			c++;		}else if(op == 4){			d++;			SomaRuim+=idade;			if(idade>maiorIR){				maiorIR = idade;			}		}else if(op == 5){			e++;			if(idade>maiorIP){				maiorIP = idade;			}		}else{			printf("Opcao invalida");			return 0;  		}	}		float bom = (b * 100)/pessoas;		float reg = (c * 100)/pessoas;		float pes = (d * 100)/pessoas;		float med = (maiorIR/d);		printf("O total de respostas otimo foi: %d", a);		printf("Diferenca entra Bom e Regular: %.2f", bom-reg);		printf("Media Ruim: %.2f", med);		printf("porcentagem de respostas pessima: %.2f", pes);	system("pause");}

/*6 - Faça um algoritmo que receba a idade, o peso, a altura, a cor dos olhos(A  Azul, P  Preto, V  Verde e C  Castanho) e a cor dos cabelos(P  Preto, C  Castanho, L  Louro e R  Ruivo) de 20 pessoas, em seguida calcule e mostre: a quantidade de pessoas com idade superior a 50 anos e peso inferior a 60 quilos; a média das idades das pessoas com altura inferior a 1,50; a quantidade de pessoas com olhos azuis entre todas as pessoas analisadas; a quantidade de pessoas ruivas e que não possuem olhos azuis.*/#include <stdio.h>#include <stdlib.h>main (){	int idade;	char olhos, cabelos;	float altura, peso, qtdid = 0, qtdpe = 0, qtdat = 0, sid, qtdo = 0, qtdr = 0;	for (int i=0; i<2; i++){		printf("Idade: ");		scanf("%d", &idade);		printf("altura: ");		scanf("%f", &altura);		printf("Peso: ");		scanf("%f", &peso);		printf("Cabelo (P  Preto, C  Castanho, L  Louro e R  Ruivo): ");		scanf("%s", &cabelos);		printf("Olhos (A  Azul, P  Preto, V  Verde e C  Castanho): ");		scanf("%s", &olhos);	}		for (int i=0;i<2; i++){			if((idade > 50) && (peso < 60)){				qtdid++;			}			if(altura < 1.5){				sid += idade;			}			if(olhos == 'A'){				qtdo++;			}			if((cabelos == 'R') && (olhos!= 'A')){				qtdr++;			}		}		printf("\nA quantidade de pessoas com idade superior a 50 anos e peso inferior a 60 quilos: %d",qtdid);		printf("\nA a média das idades das pessoas com altura inferior a 1,5 metro: %.2f",sid/20);		printf("\nA percentagem de pessoas com olhos azuis entre todas as pessoas analisadas: %d\n",(qtdo/20)*100);		printf("\nQuantidade de pessoas ruivas e que não possuem olhos azuis.: %d\n", qtdr);}

/*7  Foi feita uma pesquisa entre os habitantes de uma região.Foram coletados os dados de idade, sexo (M/F) e salário. Faça um programa que calcule e mostre: a média dos salários do grupo; a maior e a menor idade do grupo; a quantidade de mulheres com salário até R$ 450,00; a idade e o sexo da pessoa que possui o menor salário.Finalize a entrada de dados ao ser digitado um valor negativo para a idade.*/#include <stdio.h>#include <stdlib.h>main (){	int idade = 0;	int contarh, contarsal450, maior = 0, menor = 450, menorsalid =0;	char sexo;	float menorsalsex = 0, salario = 1, ssalario = 0, menorsal = 9999, media;	while(salario > 0){		printf("Idade: ");		scanf("%d", &idade);		printf("Sexo (m ou f): ");		scanf("%s", &sexo);		printf("Salario: R$ ");		scanf("%f", &salario);		if(salario > 0){			ssalario = ssalario + salario;			contarh++;		}		if(idade > maior){			maior = idade;		}if(idade < menor){			menor = idade;		}if ((salario < 451) && (sexo == 'f')){			contarsal450++;		}if(salario < menorsal){			menorsal = salario;			menorsalid = idade;			menorsalsex = sexo;		}if(idade < 0){			media = ssalario/contarh;			printf("Media dos Salarios: ", media);			printf("Menor Idade: %d anos", menor);			printf("Maior Idade: %d anos", maior);			printf("Qntd de mulher com salario ate 450: %d", contarsal450);			printf("A Idade do menor salario: %d", menorsalid);		}	}}		

/*8  Em uma eleição presidencial existem quatro candidatos. Os votos são informadospor meio de código. Os códigos utilizados são:	 ___________________________	|	COD     |   Descri      |	|___________________________|	|           |               |	|   1 2 3 4 |   Resp. Cand  |	|___________|_______________|	|           |               |	|	  5     |   Voto Nulo   |	|___________|_______________|	|           |               |	|     6     |   Voto Branco |	|___________|_______________|Faça um algoritmo que calcule e mostre: o total de votos para cada candidato; o total de votos nulos; o total de votos em branco; a percentagem de votos nulos sobre o total de votos; a percentagem de votos em branco sobre o total de votos.Para finalizar o conjunto de votos, tem-se o valor zero.*/#include <stdio.h>#include <stdlib.h>main(){	int a, b, c, d;	int n, vb;	int voto;	float pnulo, pbranco, total;	a = 0; b = 0; c = 0; d = 0; n = 0; vb = 0;	voto = 1;	while (1){		scanf("%d", &voto);		if (voto == 1){			a++;			total++;		}else if(voto == 2){			b++;			total++;		}else if(voto == 3){			c++;			total++;		}else if(voto == 4){			d++;			total++;		}else if(voto == 5){			n++;			total++;		}else if(voto == 6){			vb++;			total++;		}else if(voto == 0){		pbranco = ((float) vb * 100)/total;		pnulo = ((float) n * 100)/total;		printf("O numero de votos no candidato 1: %d\n", a);		printf("O numero de votos no candidato 2: %d\n", b);		printf("O numero de votos no candidato 3: %d\n", c);		printf("O numero de votos no candidato 4: %d\n", d);		printf("O numero de votos Nulos: %d\n", n);		printf("O numero de votos Brancos: %d\n", vb);		printf("A porcentagem de votos nulos: %.2f\n", pnulo);		printf("A porcentagem de votos Brancos: %.2f\n", pbranco);		return 0;		}else{			printf("Voto Invalido!!");			return 0;		}	}	return 0;}

Se puderem apontar os erros e melhorias que são possivel, agradeço !

 

 

Ninguem ? ><

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhor postar só os que deram errado, porque revisar um por um é osso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste abaixo onde esta o erro de cada um e o que esta dando errado.Nao iremos compilar o seu codigo para tentar ajudar , apenas ajudar no olho.E apontando o erro , nao irei ficar procurando o erro.

 

Ajudo dentro do meu alcance, aponte os erros por favor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Edit - Mal pelo Double Post ae

 

Poste abaixo onde esta o erro de cada um e o que esta dando errado.Nao iremos compilar o seu codigo para tentar ajudar , apenas ajudar no olho.E apontando o erro , nao irei ficar procurando o erro.

 

Ajudo dentro do meu alcance, aponte os erros por favor.

 

Segue o 3:

 

Fiz no Visual Studio e deixei a parte

média aritmética dos valoresparespara voce finalizar de uma pesquisada , para identificar se um numero par eu inseri ali       par = dig % 2;       if(par == 0) {Qualquer duvida , tamo ae , irei fazer os outros

 

/*3 - Escrever um algoritmo que, dada uma seqüência de valores inteiros, digitadas pelo
usuário, determine qual é o menor valor desta seqüência e a média aritmética dos valores
pares. O valor 0 (zero) indica o término dos dados de entrada
(finalizador, utilizar o DO... WHILE para finalizar o algoritmo.).*/

#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>


using namespace System;

int main(array<System::String ^> ^args){
    int dig,par;
    int i,k=0;
    int menor,media;
    int quantidade;

    k=i=quantidade;
    do{
        printf("Entrada de Dados[%d]:\n",k+1);
        k++;
        i++;
        quantidade++;
        scanf("%d",&dig);    
        par = dig % 2;
       if(par == 0) {
           media = (par / quantidade);
           printf("Media dos Pares %d\n",media);    
           }
        if(dig < menor){
         menor = dig;
         printf("O Menor Numero e: %d\n",menor);
           }

 }while(dig != 0);    

system("pause");
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou deixar sempre alguns erros para voce tentar corrigir.

 

So nao captei a parte da diferença de percentual....

 

Segue exerc 8 :

 

/*4 - Construa um algoritmo que leia um conjunto de dados contendo altura e sexo
(M para masculino e F para feminino) de 50 pessoas e, depois, calcule e escreva:
 a maior e a menor altura do grupo;
 a média de altura das mulheres;
 o número de homens e a diferença percentual entre estes e as mulheres.*/

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h> //converte minuscula para maiusculo

using namespace System;

//Voce nao deve ter aprendido ainda , irei utilizar uma estrutura de dados para fazer este exercicio
//struct

struct dados{
    float altura;
    char sexo;
    int quant;
}ler;//acesso a estrutura

float maior,menor; // tem que sempre inicializar os dados
float mediam,mediaalmulher=0;
int mulher,homem,nhomem,percent;

int main(array<System::String ^> ^args){
      puts("Inicializar Dados:");
      do{
       printf("Altura:");
       scanf("%f",&ler.altura);
       printf("Sexo[%d]:",ler.quant+1);
       ler.quant++;
       scanf("%s",&ler.sexo);
       ler.sexo = toupper(ler.sexo);
       fflush(stdin); //limpa o buffer
   
    if (ler.altura > maior){
        maior = ler.altura;
    }else if (ler.altura < menor){ // corrija esse problma aqui , nao esta captando o menor :)
        menor = ler.altura;
    }
             printf("Maior Altura do Grupo e Menor: %10.2f %10.2f \n",maior,menor);

    if(ler.sexo == 'F'){ // so ir exibir qdo for mulher
        mediaalmulher = mediaalmulher + ler.altura;
        mulher++;
        mediam = mediaalmulher / mulher;
        printf("Media: %10.2f\n",mediam);
    }
          if(ler.sexo == 'M'){
              homem++;
          printf("Numero de Homens: %d\n",homem);
          }

      }while(ler.quant !=3 );//quantidade de dados que serao inseridos

        homem = homem - mulher; nhomem = 2 * homem; percent = 100 - nhomem;
        printf("Diferença de Porcententual de Homens para Mulheres: %d%\n", percent);

system("pause");
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao há erros de compilador , apenas erros de logica em que um nao esta exibindo o menor valor e no outro a media esta incompleta para ele ser obrigado a ler o codigo e tentar montar o dele melhor com o erro corrigido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o 5 :

E Antes faça uma verificacao

int max;

puts("Quantas pessoas presentes no cinema?");

scanf("%d",&max);

 

Assim ficara mais facil de testar do que inserir 150 dados ....

Altere o Loop para do{ }while(i != max);

 

Segue o 6:

Nesse programa você inicializo muitas variáveis inúteis que nao foram usadas e realizo alguns calculos errados.

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h> //converte minuscula para maiusculo

using namespace System;

/*6 - Faça um algoritmo que receba a idade, o peso, a altura, a cor dos olhos
(A  Azul, P  Preto, V  Verde e C  Castanho) e a cor dos cabelos
(P  Preto, C  Castanho, L  Louro e R  Ruivo) de 20 pessoas, em seguida calcule e mostre:
 a quantidade de pessoas com idade superior a 50 anos e peso inferior a 60 quilos;
 a média das idades das pessoas com altura inferior a 1,50;
 a quantidade de pessoas com olhos azuis entre todas as pessoas analisadas;
 a quantidade de pessoas ruivas e que não possuem olhos azuis.*/


int main (){

    int idade;
    char olhos, cabelos;
    float altura, peso, qtdid, qtdo, qtdr,media,newe;
    int quant=0;

    do{
        printf("Pessoa[%d]:\nIdade: \nAltura: \nPeso: \nCabelo (P  Preto, C  Castanho, L  Louro e R  Ruivo): \nOlhos (A  Azul, P  Preto, V  Verde e C  Castanho):\n",quant+1);
        quant++; // quantidade de pessoas
        scanf("%d %f %f %s %s",&idade,&altura,&peso,&cabelos,&olhos);
            olhos = toupper(olhos);
            cabelos = toupper(cabelos);
            if((idade > 50) && (peso < 60)) qtdid++;
            if(altura < 1.50){
            newe = idade / quant;  } // a Media se faz pela soma das idades divida pelo numero de pessoas
            if(olhos == 'A') qtdo++;
            if((cabelos == 'R') && (olhos != 'A')) qtdr++;    
            fflush(stdin);

    }while(quant != 2); // 2 pessoas analisadas

        printf("\nA quantidade de pessoas com idade superior a 50 anos e peso inferior a 60 quilos: %10.2f",qtdid);
        printf("\nA a média das idades das pessoas com altura inferior a 1,5 metro: %10.2f",newe);
        printf("\nA percentagem de pessoas com olhos azuis entre todas as pessoas analisadas: %10.2f\n",qtdo/quant * 100);
        printf("\nQuantidade de pessoas ruivas e que não possuem olhos azuis.: %10.2f\n", qtdr);

        system("pause");
        return 0;
}

Segue 7:
É a mesma ideia dos outros , assim como o 8 , caso tenha algum erro neles , informe , quando ver o post.

 

 

 

 

 

Mesmo voce nao aparecendo mais no forum , ai esta cada programa , com leves melhorias e consertos.Dois deles deixei um erro em cada para voce tentar consertar , caso apareça no forum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aproveitando o primeiro que você... nem começou (?):

 

# include <stdio.h>

int main (void)
{
	int num;
	int i = 0;
	int maior = 0, menor = 0;
	
	do
	{
		printf("Digite o %i numero ou 0 p/ sair:\n", i + 1);
		scanf("%i", &num);
		
		/* se 0... finaliza */
		if (!num)
			break;
		
		else
		{
			/* se for o primeiro número lido, ele será tanto o maior quanto o menor
			 * tem professor que ensina a iniciar variavel maior com 0 e variavel menor com 9999... */
			if (!i)
			{
				maior = num;
				menor = num;
			
			}
			/* execução normal, verificando qual é maior e menor */
		 	else
			{
				if (num > maior)
					maior = num;
				else if (num < menor)
					menor = num;
			}
			
		}
		
		i++;
		
	} while (num);
	
	printf("Maior: %i\tMenor: %i\n", maior, menor);
};

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.