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:  
rastryth

C++ Programa que calcula media ponderada com vetor - ERROR

Recommended Posts

Pessoal ! Tudo bem ?
Alguem pode me ajudar a resolver isso ! simplesmente o programa nao ta dando o resultado da media !
( 2 ) Media ponderada < -- escolha essa opção

 

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
/* Esta função calcula a média simples entre dois valores 
 *  x1, x2 
 */
float mediaSimples(float x1, float x2) {
   return (x1+x2)/2;
}

/* Esta função calcula a média ponderada entre dois valores 
 *  x1, x2, pesos p1, p2 respectivamente 
 */
float mediaPonderada(float x1, float x2, float p1, float p2) {
   return (x1*p1 + x2*p2)/(p1+p2);
}

/* Esta função calcula a média simples entre n valores x[i] 
 * Onde 0 < i < n 
 */
float mediaSimplesVetor(int n, float x[]) {
   int i;
   float soma=0.0;
   for(i=0; i<n; i++) soma=soma+x[i];  // calcule somatorio de Xi
   return soma/n;  // retorne a media
}

/* Esta função calcula a média pnderada entre n valores x[i] 
 * e pesos p[i], onde 0 < i < n 
 */
float mediaPonderadaVetor(int n, float x[], float p[]) {
   int i;
   float media;
   float somaX=0.0;
   float somaP=0.0;
   for(i=0; i<n; i++)   // somatorio para 0<i<n-1
   {
          somaX=somaX+(x[i]*p[i]);  // somatorio de Xi.Pi
          somaP=somaP+p[i];         // somatorio de Pi
   };
   media = somaX/somaP;  // calcule a media 
   return media;         // retorne a media
}

/* Esta função mostra as notas no vetor x[i] 
 * onde 0 < i < n 
 */
void mostraNotas(int n, float x[]){
   int i;
   printf("\n");
   printf("As %d Notas Digitadas:\n",n);
   printf("\n");
   for(i=0; i<n; i++ ) 
      printf(" Nota %d = %5.1f\n",i+1,x[i]);
}
    
/* INICIO */

int main(int argc, char *argv[])
{
    setlocale(LC_ALL, "Portuguese"); 
    int num ;  
    int rep;
    float numero_max; 
    float *provas;  
    float media;
	int i; 
    int n;
    int maior=0, menor=0;
    
    
    
       do
       {
	   printf(	" Digite: \n "
	   			"(1) Media Normal   \n "
				"(2) Media Ponderada \n");
       printf("\n"); 
	   scanf("%i", &num);
       printf("\n");
         
		 //Media Simples - Vetor	
	     if (num == 1 ) {
	     	 printf("Quantas Provas ? "); 
             scanf("%i",&n);
             printf("\n");
             provas = (float*) malloc(n*sizeof(float)); 
    			
				for (i = 0;i < n;++i) {
					printf(" Nota %i: ",i + 1);
        			scanf("%f",&provas[i]);
					
					 if(i==0){maior=provas[i];menor=provas[i];}
      					if(provas[i]>maior){
      				    	maior=provas[i];
      					                   }
      					else{
      						  if(provas[i]<menor){
           				         menor=provas[i];
      						                     }
      						}
        			                  }
   						mostraNotas(n,provas);
    					printf("\n");
    					media = mediaSimplesVetor(n, provas);
						printf("A Media é: %5.2f\n",media);
						printf("\n");
					    printf("\n Maior Nota %d: \n", maior);
   				        printf("\n Menor Nota %d: \n\n", menor);
					
		    	        } 
						 
		  else {
		 	//Media Ponderada - Vetor 
		     float provas[i];	
		     int n, media;
			 printf("Quantas Provas ? "); 
             scanf("%i",&n);
             printf("\n");
              
			 	for( i=0; i<n; i++){
             	 printf(" Nota %i: ",i +1);
            	scanf("%f", & provas);
				}
            	for( i=0; i<n; i++){
                printf("Peso %d: ",i + 1);
                scanf("%f", & provas);
                
               }
         	}
         	   
    		  printf("\n");
    		  media = mediaPonderadaVetor (n, provas, provas);
			  printf("A Media é: %5.2f\n", media); 			

 				printf("\n");
                printf( "Digite (1) para continuar ou (2) para sair \n");
				scanf("%d", &rep);
				printf("\n");
				
                }while (rep==1);	 
         
  system("PAUSE");	
  return 0;
  
};

 

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

×