Buscar

provaC-funcoeseVetores

Prévia do material em texto

/** 
 * Messias Pinheiro 
 * Prova tipo I - Prof. Constância santos 
 * Vetores e funções. 
 */ 
 #include <stdio.h> 
 #include <stdlib.h> 
 //Declaracao de modulos 
 void leVetor(float v[], int n); 
 void exibeVetor(float v[], int n); 
 float media(float v[], int n); 
 float copiaVetor(float v1[], float v2[], int n); 
 int i; 
 //=----------------- 
 int main(void){ 
 int n=0; 
 float v[n], v2[n]; 
 int q_troca; 
 system("color 0a"); 
 do{ 
 printf("Informe um valor maior que 30 para sair!\n"); 
 printf("Informe o tamanho do vetor: "); 
 scanf("%i", &n); 
 if(n>30){ 
 break; 
 }//Sair do laço 
 leVetor(v, n); 
 //chamando a funcao exibe vetor 
 //printf("%.2f", v[0]);//funcionando 
 printf("Media v[n]: %.1f\n\n", media(v, n)); 
 printf("Exibindo vetor v[]\n"); 
 exibeVetor(v, n); //Exibir vetor v[] 
 printf("\n\nExibindo vetor v2[]\n\n"); 
 q_troca = (int)copiaVetor(v, v2, n); //Converter a quantidade de 
trocas para inteiro 
 exibeVetor(v2, n); //exibir vetor v2[] 
 printf("\n\nExibindo quantidade de trocas no v2[]: %d\n\n", q_troca); 
 }while(n < 31); 
 } 
 void leVetor(float v[], int n){ 
 int i; 
 printf("informe os dados do vetor: "); 
 for(i=0; i<n; i++){ 
 scanf("%f", &v[i]);//Armazenar os dados no vetor 
 } 
 
 } 
 void exibeVetor(float v[], int n){ 
 for(i=0; i<n; i++){ 
 printf("%.1f ", v[i]); 
 } 
 } 
 
 float media(float v[], int n){ 
 float soma=0; 
 for(i=0; i<n; i++){ 
 soma += v[i]; 
 } 
 //printf("%.2f", soma/n); //Para teste 
 return soma/n; 
 } 
 //copiaVetor(v, v2, n); 
 float copiaVetor(float v1[], float v2[], int n){ 
 float cont=0; 
 float med = media(v1, n); //substituir pela media de v1[] 
 for(i=0; i<n; i++){ 
 if(v1[i]!= 0){ 
 v2[i] = v1[i]; 
 }else{ 
 v2[i] = med; 
 cont++; //numero de trocas 
 } 
 } 
 
 return cont; 
 }

Continue navegando