Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucasnb

erro no programa

Recommended Posts

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

ñ 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

ñ 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

tente passar assim para ver c da certo:

resul = vet(&vet,&i,&j);

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.