• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

greyback

Receber uma string, ordenar por ordem alfabética e guardar o indice

11 mensagens neste tópico

Boas... 

É o seguinte... :(

Eu quero receber uma string e quero ordenar as letras dessa string por ordem alfabética, enquanto num array está a receber os indices dessa mesma ordenação ...

Alguem me pode ajudaR?

import java.util.*;

class compress {

public static int[]  Ordenarstr (String string_)
{
	int i = 0; int j = 0; int temp = 0;
	char valor;
	int[] letras = new int[string_.length()];
	for (i = 0; i < string_.length(); i++) {  
             for (j = 0; j < i; j++) {  
   
                 if (string_.charAt(i) < string_.charAt(j))
			 {  
                    temp = i;  
                    letras[i] = j;  
                    letras[j] = temp;  
				System.out.println(i+j);
			}
		}
	}

		// Imprimir Ordem
	for (int a=0; a<letras.length; a++)
		{
			System.out.println(string_.charAt(letras[a]));
		}
	return letras;
}


public static void main (String args[])
{
	String string_ = new String ("Micael");
	int[] string_1 = new int[string_.length()];
	string_1 = Ordenarstr (string_);
	System.out.println("String Introduzida: "+string_);
}

}

E já agora como posso imprimir todo o conteudo de um array?

Print array? ...

Cumps, GreyBack

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

for(int x : string_1){
    System.out.println("-" + x);
}

Desculpa, mas isto é resposta a como imprimir todo o array certo?

Não percebi onde se adequa isso :X

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O x é 1 iterador, mas podes fazer antes

for(int i = 0 < i < string_1.legth;i++){
    System.out.println(string_1[i]);
}

O array em Java não tem o método toString logo o System.out não consegue converter o array de forma legível dai teres de ser tua a processa-lo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa, mas não te estou a perceber muito bem ... Podes adequar essa parte de código ao meu código e por ai tudo sff ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O meu problema é que esse código não está a introduzir os indices correctamente :X

Ele está a falhar na ordenação das letras da string, e respectimente os indices :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esquece reparei agora numa coisa.

Por mero acaso não estás a tentar implementar o algoritmo de huffman ou estás ? É que usares arrays desta forma não é a melhor maneira.

Passando à frente queres receber uma string tipo "xyzabc" passar para abcxyz e depois? não percebi onde entra o outro array com índices :s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

algoritmo de huffman ou estás ?

Não faço a minima ideia do que seja isso :(

Passando à frente queres receber uma string tipo "xyzabc" passar para abcxyz e depois? não percebi onde entra o outro array com índices :s

sim,sim é isso :cheesygrin:

Eu estou a fazer um compressor .... E primeiro tenho de ordenar as letras e guardar os indices da ordem alfabetica ... sem alterar a string original...

Percebes? Para depois atráves desses indices começar a tentativa da compressão :)

ps: Responde a minha pm sff

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lá está compressão era o que suspeitava lol

Eu já vi esse algoritmo só não me lembro do nome :s

Em todo o caso é complicado fazeres isso assim só com arrays Objectos seria melhor, talvez objectos que levasse a letra os índices onde estas ocorrem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lá está compressão era o que suspeitava lol

Eu já vi esse algoritmo só não me lembro do nome :s

Em todo o caso é complicado fazeres isso assim só com arrays Objectos seria melhor, talvez objectos que levasse a letra os índices onde estas ocorrem.

Será que me podes ajudaR? :X

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pá eu não te posso fazer isso mesmo que quisesse não tenho disponibilidade para isso :\

Estou a ver é que não conheces bem a linguagem e fazer algo assim desse nivel embora não seja nada por ai além mas convem um conhecimento mínimo de POO em Java :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora