Eva.lima 0 Denunciar post Postado Abril 26, 2009 #include<stdio.h> int main() { int vetor[5],*pintero; void carregaVetor(int*pintero,int x) { int i,soma; float media; for (i=0;i<x;i++) { printf("Digite o numero: ",i+1); scanf("%d",pintero); pintero++; media+=(vetor[5]/media); } } void exibirVetor(int*pintero,int x) { int i; float media; for (i=0;i<x;i++) { printf("%d",*pintero++); printf("%d",media); } } pintero=vetor; carregaVetor(pintero,5); exibirVetor(pintero,5); system("pause"); } Não consigo mostrar a média dentro da função principal. o maior número e sua posição dentro do vetor e o menor número e sua posição dentro do vetor? Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Abril 26, 2009 int v[5]; int i; int soma = 0; for (i=0;i<5;i++) { printf("Digite o numero: [%d] ",i); scanf("%d",&v); soma = v + soma } float media = soma / 5; Compartilhar este post Link para o post Compartilhar em outros sites
Glaucco 1 Denunciar post Postado Abril 26, 2009 tem que usar o ponteiro seu código não ta usando o ponteiro. e viciado esqueceu apenas do ponteiro ela ta fazendo com ponteiro. Compartilhar este post Link para o post Compartilhar em outros sites
Eva.lima 0 Denunciar post Postado Abril 26, 2009 #include<stdio.h> int main() { int vetor[5],*pintero; void carregaVetor(int*pintero,int x) { int i,soma; float media; for (i=0;i<x;i++) { printf("Digite o numero: ",i+1); scanf("%d",pintero); pintero++; soma = vetor[5] + soma; media = soma / 5; } } void exibirVetor(int*pintero,int x) { int i; float media; for (i=0;i<x;i++) { printf("%d",*pintero++); printf("%d",media); } } pintero=vetor; carregaVetor(pintero,5); exibirVetor(pintero,5); system("pause"); } Obrigada gente mais ainda não está mostrando a média. Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Abril 26, 2009 Dificilmente você vai ver gente definindo funções dentro do main. void carregaVetor(int*pintero,int x) { int i,soma; float media; for (i=0;i<x;i++) { printf("Digite o numero: ",i+1); scanf("%d",pintero); pintero++; soma = vetor[5] + soma; media = soma / 5; } } E qual o valor inicial de soma? Lixo em memória. Qual o valor de vetor[5]? Lixo em memória,na pior das hipóteses. Existe uma coisa chamada alta coesão. A sua função tem baixa coesão pois faz coisas que não têm relação entre si. Obrigada gente mais ainda não está mostrando a média. Não mostra a média porque a variável média é local à função carregaVetor.Estude sobre escopo de variáveis. pintero++; Você incrementa o ponteiro, mas e depois? Esquece de inicializá-lo de novo. Ele não vai magicamente obter o endereço do primeiro elemento do array novamente. #include<stdio.h> #define MAX 5 void carregaVetor(int*pinteiro) { int i; for (i=0;i<MAX;i++) { printf("Digite o numero: "); scanf("%d",pinteiro+i); } } float calculaMedia(int*pinteiro) { int soma = 0; int i; for (i = 0; i < MAX; i++) soma+=*(pinteiro+i); return soma/MAX; } void exibirVetor(int*pinteiro) { int i; for (i=0;i<MAX;i++) printf(" %d ",*(pinteiro+i)); } int main() { int vetor[MAX],*pinteiro; pinteiro=vetor; carregaVetor(pinteiro); printf("Vetor:\n"); exibirVetor(&vetor[0]); printf("\nMédia: %.2f\n",calculaMedia(&vetor[0])); } Compartilhar este post Link para o post Compartilhar em outros sites
Eva.lima 0 Denunciar post Postado Abril 26, 2009 Obrigada import java.Isis funciona mostrando média perfeita. Obrigada mesmo. Presiso muito melhorar sou muito fraca em C. Tenho muita dificuldade em programar. Compartilhar este post Link para o post Compartilhar em outros sites