função [RESOLVIDO]

1. função [RESOLVIDO]

carlos henrique de oliveira santana rosa
dowriqrosa

(usa Outra)

Enviado em 27/11/2016 - 11:47h

bom dia estou tentando resolver um questão mas não sei como passar um vetor para outra função segue a questão e o meu codigo:

9) Crie uma função chamada cadastra_vetor que cadastra um vetor V de inteiros de 10 posições global de números negativos. Depois crie outra função chamada calcula_media que calcula a média dos números pares. Na função principal chame as funções criadas.


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

int cadastrar_vetor(){
int vet[10],i;
for(i=0;i<10;i++){
printf("digite um numero: \n");
scanf("%d",&vet[i]);
if(vet[i]>0){
i--;
}
}
return vet[10];
}
int calcula_media(int vet[10]){
int i,aux=0,cont=0;
float media;
for(i=0;i<10;i++){
if(vet[i]%2==0){
aux+=vet[i];
cont++;
}
}
media=aux/cont;
printf("\na media é: %f ",media);
}

int main(){
int media;
cadastrar_vetor();
calcular_media();
}



  


2. Re: função [RESOLVIDO]

Bruno Ramiro
BrunoR

(usa Ubuntu)

Enviado em 27/11/2016 - 13:07h


Boa tarde :)

Ao invés de tentar retornar um vetor (que é um ponteiro) da função, porque não passa um vetor como parâmetro, e preencha esse vetor ? Segue o código com essa implementaçao, qualquer coisa tamo ae.

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

void cadastrar_vetor(int *vetor){
int i;
for(i=0;i<10;i++){
printf("digite um numero: \n");
scanf("%d",&vetor[i]);
if(vetor[i]>0){
i--;
}
}
}
void calcula_media(int *vetor){
int i,aux=0,cont=0;
float media;

for(i=0;i<10;i++){
if(vetor[i]%2==0){
aux+=vetor[i];
cont++;
}
}

media=aux/cont;
printf("\na media é: %f ",media);
}

int main(){
int vetor[10];
cadastrar_vetor(vetor);
calcula_media(vetor);
return 0;
}



3. Re:BrunoR

carlos henrique de oliveira santana rosa
dowriqrosa

(usa Outra)

Enviado em 27/11/2016 - 13:13h

Obrigado amigo não sabia como fazer isso vlw pelo código que você enviou eu entendi como faz.