
		mvrocha
		
		(usa Ubuntu)
		
		Enviado em 21/06/2010 - 16:45h 
		Se a lista eh encedeada circular , a variavel termino indica o fim porem deve haver uma variavel INICIO pois nao sabe-se onde comecara a listagem , por exemplo :
- depois de varias movimentacoes de dados eh comum neste tipo de estrutura encontrarmos o primeiro registro como idades[40] e o termino (fim da lista) na posicao idades[10]
ILUSTRANDO :
  | Cadastro2 | Cadastro3 | Cadastro4 | VAZIA | VAZIA | Cadastro0 | Cadastro1 |
  Neste caso a solucao do "colega" falharia;
assim com essa variavel inicio:
if (inicio < termino) 
for( i = inicio ; i < termino ;)
{
  if(idades[(i + inicio)%50].idade % 2) printf("Idades[%d]:%d",i,idades[i].idade);
  i = (i+1)%50;
}
else
{
for( i = 0 ; i < termino ; i++ ) printf("Idades[%d]:%d",i,idades[i].idade);
for( i = inicio ; i < 50 ; i++ ) printf("Idades[%d]:%d",i,idades[i].idade);
}
Pronto!!
Espero ter ajudado.