lucasnb 0 Denunciar post Postado Março 2, 2008 Eae Pessoal, nao to conseguindo fazer rodar o meu programa, alguem pode me ajudar? int vet(int *vet[],int *i, int *j); int main(){ int vetor[3],i,j, resul; for(i=0;i<3;i++) { printf("Digite os numeros: "); scanf("%d",&vetor); } resul = vet(&i,&j); for(i=0;i<3;i++){ printf("Os numeros ficaram assim: %d\n",resul); } getch(); } int vet(int vet[], int *i, int *j){ for(*i=0;*i<3;*i++){ for(*j=0;*j<3;*j++){ if(*vet[*i] > *vet[*j]){ int aux = *vet[*i]; *vet[*i] = *vet[*j]; *vet[*j] = aux; } } }} Vlw pessoal... Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Março 3, 2008 ñ sei c é por isso pois naum compilei + observe: você declare ele acima do main assim: int vet(int *vet[],int *i, int *j);e depois do main assim: int vet(int vet[], int *i, int *j){ outra coisa: a função precisa de 3 parametros e você passa ela com 2: resul = vet(&i,&j); volte a postar []'s Compartilhar este post Link para o post Compartilhar em outros sites
lucasnb 0 Denunciar post Postado Março 3, 2008 ñ sei c é por isso pois naum compilei + observe: você declare ele acima do main assim: int vet(int *vet[],int *i, int *j);e depois do main assim: int vet(int vet[], int *i, int *j){ outra coisa: a função precisa de 3 parametros e você passa ela com 2: resul = vet(&i,&j); volte a postar []'s vlw quitZAUMMM, arrumei a declaração, mas ainda sim qdo passo os parametros nao estou conseguindo fazer certo. Ficará assim? resul = vet(&vet[3],&i,&j); Como eu passo os 3 parametros de volta? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Março 3, 2008 tente passar assim para ver c da certo: resul = vet(&vet,&i,&j); Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Março 3, 2008 Pelo que entendi não há necessidade de passar i e j por referencia. Nas primeiras linhas da funcão o valor de cada um deles é alterado para 0. Observe: int vet(int vet[], int *i, int *j){ for(*i=0;*i<3;*i++){ for(*j=0;*j<3;*j++){ Ve como fica melhor assim: int vet(int vet[], int x, int y){ int i, j, aux; for(i=0; i<x; i++){ for(j=0; j<y; j++){ if(vet[i] > vet[j]){ aux = vet[i]; vet[i] = vet[j]; vet[j] = aux; } } } } http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Março 3, 2008 olha tentei aki e soh precisa passar o vetor como parametro! volte a postar []'s Compartilhar este post Link para o post Compartilhar em outros sites