Ir ao conteúdo
  • Cadastre-se
Flame Knight

Ajuda

Recommended Posts

Estou precisando de ajuda nesse código.

Primeiro vou postar o enunciado da questao e depois o que eu consegui fazer:

Suponha um vetor de comprimento N que possui valores que representam as cores Vermelha, Branca, Azul e Verde. Escreva um programa que ponha as cores neste vetor na seguinte ordem: Cores Vermelhas no extremo esquerdo do vetor, cores Azuis no extremo direito, cores Brancas após o conjunto de cores Vermelhas, e cores Verde após as cores Brancas e antes das cores Azuis.

Qual a menor quantidade de passagens sobre o vetor necessárias para a ordenação? Soluções triviais, do tipo contar as quantidades de cada cor e depois gerar o novo vetor, estão proibidas.

Os valores iniciais do vetor devem ser tomados da entrada padrão. O programa deve imprimir o estado inicial e final do vetor, bem como os estados intermediários durante os passos de ordenação.

Esse é o que eu fiz, um trecho de código que serve apenas para tres cores, sendo que nao consegui implementa-lo para mais cores:

begin
le:=0;
ld:=1;
ult:=n+1;
repeat
if band[ld]='azul' then
begin
ult:=ult-1;
aux:=band[ld];
band[ld]:=band[le];
band[le]:=aux;
end;
if band[ld]='branco' then
ld:=ld+1;
if band[ld]='vermelho' then
begin
le=le+1;
aux:=band[ld];
band[ld]:=band[le];
band[le]:=aux;
ld:=ld+1;
end;
until ld=ult;
end;

Alem do problema de modelar o codigo para quatro cores, ainda há o problema de que eu não consigo fazer aquelas comparações de strings...

Esse exercicio serve como base para um maior...

Aguardo retorno...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou precisando de ajuda nesse código.

Primeiro vou postar o enunciado da questao e depois o que eu consegui fazer:

Suponha um vetor de comprimento N que possui valores que representam as cores Vermelha, Branca, Azul e Verde. Escreva um programa que ponha as cores neste vetor na seguinte ordem: Cores Vermelhas no extremo esquerdo do vetor, cores Azuis no extremo direito, cores Brancas após o conjunto de cores Vermelhas, e cores Verde após as cores Brancas e antes das cores Azuis.

Qual a menor quantidade de passagens sobre o vetor necessárias para a ordenação? Soluções triviais, do tipo contar as quantidades de cada cor e depois gerar o novo vetor, estão proibidas.

Os valores iniciais do vetor devem ser tomados da entrada padrão. O programa deve imprimir o estado inicial e final do vetor, bem como os estados intermediários durante os passos de ordenação.

Esse é o que eu fiz, um trecho de código que serve apenas para tres cores, sendo que nao consegui implementa-lo para mais cores:


le:=0;
ld:=1;
ult:=n+1;
repeat
if band[ld]='azul' then
begin
ult:=ult-1;
aux:=band[ld];
band[ld]:=band[le];
band[le]:=aux;
end;
if band[ld]='branco' then
ld:=ld+1;
if band[ld]='vermelho' then
begin
le=le+1;
aux:=band[ld];
band[ld]:=band[le];
band[le]:=aux;
ld:=ld+1;
end;
until ld=ult;
end;
begin

Alem do problema de modelar o codigo para quatro cores, ainda há o problema de que eu não consigo fazer aquelas comparações de strings...

Esse exercicio serve como base para um maior...

Aguardo retorno...

Olá,

1) Em:

Suponha um vetor de comprimento N que possui valores que representam as cores Vermelha, Branca, Azul e Verde. Escreva um programa que ponha as cores neste vetor na seguinte ordem: Cores Vermelhas no extremo esquerdo do vetor, cores Azuis no extremo direito, cores Brancas após o conjunto de cores Vermelhas, e cores Verde após as cores Brancas e antes das cores Azuis.

Traduzindo: Colocar na ordem: Cores Vermelhas, Brancas, Verde e Azul !;

2) NEM PENSE EM INVENTAR UMA FÓRMULA DE ORDENAÇÃO: Não se implementa um 'Algoritmo de ordenação', mas sim "Utiliza-se" um já existente!. (reinventar a roda é coisa de português, rs);

3) A pergunta:

Qual a menor quantidade de passagens sobre o vetor necessárias para a ordenação?
tem várias respostas!!!

Ex.: E se eu por os elementos já em ordem? Neste caso não seria necessário nenhuma passagem!!!

Como essa hipótese está descartada (ou desconsiderada), vai depender da estrutura de ordenação escolhida, vide uma lista com métodos de ordenação!!!

Cada uma delas vai ter uma ou mais respostas:

Daí você tem duas opções: ou estuda TODAS AS OPÇÕES de ordenação e descobre qual é mais rápida (veja que também vai depender do grau de desorganização!!!) ou escolhe uma, por exemplo o Bubble Sort, que é uma das mais comum e fácil de implementar!!!

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×