Ir ao conteúdo
  • Cadastre-se

Porque minha função esta retornando errado? (vetor ordem crescente)


Ir à solução Resolvido por 1freakday,

Posts recomendados

Criar um vetor de 50 aleatoriamente, e fazer uma fubção para deixa-lo crescente. Eu ja tinha o codigo desce programa, mas quando coloco para uma função colocar em crescente, ela retorna um valor só do vetor. Olhem, o que pode estar errado? As chaves?

 

#include <stdio.h>
#include<stdlib.h>
#include<time.h>
int crescente(int vet[]);
int main (){
	
   	int vet[50];
   	int i; 

	for(i=0;i<50;i++){ 

		vet[i]=rand()%50;
	}
		printf(" %d ", crescente(vet));
   return 0;
}


int crescente(int vet[]){
	int i, aux, j;
	
	
	for(i=0;i<50;i++){
		for(j=i+1; j<50 ; j++){
	 		if(vet[i] > vet[j]){
			
			aux = vet[i];
			vet[i] = vet[j];
			vet[j] = aux;
		}
	}
}
	for(i=0; i<50; i++){
		return vet[i];
	
	}
	
}

 

Link para o comentário
Compartilhar em outros sites

  • Solução
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
void crescente(int vet[]);
int main (){

   	int vet[50];
   	int i, vet1[20];

    srand(time(NULL));
	for(i=0;i<50;i++){
		vet[i]=rand()%50;
	}
	crescente(vet);
   return 0;
}



void crescente(int vet[]){
	int i, aux, j;

	for(i=0;i<50;i++){
		for(j=i+1; j<50 ; j++){
	 		if(vet[i] > vet[j]){
			aux = vet[i];
			vet[i] = vet[j];
			vet[j] = aux;
		}
	}
}
    //Vai retornar apenas uma vez, ele nao vai ir e voltar,
    //por que ele nao controla a funcao main depois que retorna
	//return vet[i];
	for(i=0; i<50; i++){
        printf(" %d ", vet[i]);
	}
        printf("\n", vet[i]);
}

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...