alguem sabe?

1. alguem sabe?

bruno
jokergiannotti

(usa Outra)

Enviado em 11/06/2010 - 20:04h

19. Considerando a estrutura abaixo, crie uma função que imprima a lista em sua ordem lógica, porém mostrando somente as idades ímpares. Você possui a informação da posição final da lista em uma variável chamada “termino”. Obs: esta é uma lista encadeada circular

struct lista{
int idade;
int prox;
} idades[50];



  


2. Re: alguem sabe?

André
andrezc

(usa Debian)

Enviado em 11/06/2010 - 20:15h

procure por for().


3. Re: alguem sabe?

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 17/06/2010 - 11:21h

for ( i = 0; i < termino; i++ )
// numero é impar ?
if ( idades[i].idade % 2 != 0 ) printf ( "Idades[%d]: %d", i, idades[i].idade );







4. Re: alguem sabe?

Marlon
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.


5. Re: alguem sabe?

Andi
upc0d3

(usa Gentoo)

Enviado em 01/07/2010 - 09:39h

Eu sei. o/

E tu, sabe ?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts