Ir para conteúdo

POWERED BY:

Arquivado

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

mathiasbenitez

Insertion em struct

Recommended Posts

Olá,

Tenho um arquivo externo que tem 5 valores (nome,1,2,3,4), leio esse arquivo e faço multiplicação sobre um valor pré determinado e atribuir o resultado em uma variavel "TOTAL" DO TIPO REAL, até ai tudo bem.

tenho uma struct :

struct valores{
char nome[20];
int quant1,quant2,quant3,quant4;
};

 

logo após, devo ordenar com o insertion baseado na variavel total, mas dentro da função do insertion esta ordenando de uma forma, que quando rodo o programa aparece nas duas primeiras structs valores que não tem nada a ver , (16874135476,54) :

void insertion(void){

	int k,j,aux;
	struct valores p_aux;	
	
	for(j=2;j<=max;j++) 
	{
		p_aux=pedidos[j];
		aux=total[j];

		pedidos[0]=p_aux;
		total[0]=aux; 

		k=j-1;			  
			while(aux < total[k]){ 
				pedidos[k+1]=pedidos[k];
		 		total[k+1]=total[k];  
				--k;
			} 
		pedidos[k+1]=p_aux;	
		total[k+1]=aux; 
	}
		
}

 

Se alguem conseguir me ajudar, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta meio complicado, pois pelo visto você utiliza bastante variáveis globais na função (pedidos, total, max).

 

Mas, se a inteção do for é varrer um vetor ou uma estrutura de dados encadeado, o j deveria começar em zero.

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.