Ajuda Trabalho da Faculdade

Ae galera… precisando de ajuda pra um trabalho de java da facul.
Isto é apenas uma parte.

O programa deve ordenar o polinômio na tela, mesmo que o usuário não digite nesta forma. Caso o usuário digite mais de um termo de mesmo grau na mesma função, o programa também deve juntar estes termos, por exemplo, se usuário digitar

f(x) = - 2x^2 + x^3 ? 1 deve ser impresso na tela f(x) = x^3 - 2x^2 ? 1 se digitar

f(x) = 2x^3 ? x^2 ? x^3 ?3x^2 ? 1 deve ser impresso na tela f(x) = x^3 - 4x^2 ? 1

Quem puder ajudar ae, duduchagas@gmail.com
Obrigado.

Amigo vc ja desenvolve alguma coisa em JAVA?

Se sim? vc pode estar desenvolvendo seu sistema ai quando pintar duvida é só postar aqui.

Agora se ainda n~~ao desenvolve ainda, vai precisar ler um pouco.

Posso dar uma idéia? Antes que chegue algum membro menos educado… :oops:
Tenta primeiro desenvolver uma lógica básica… desenvolve o que tu conseguir e depois posta só as dúvidas. Elas podem ser em todas as linhas do código, mas mostra que tu ao menos tem um código.

O fórum é para dúvidas, e não para ter os trabalhos de faculdade feitos pelos outros…

Procure sobre:

  • Manipulação de Strings ( métodos da classe String )
  • Expressões Regulares ( java.util.regex )

Só com isso e bastante lógica você resolverá seus problemas.

Abraço,

O governo pretende conectar algumas cidades por meio de estradas; estudaram-se os custos para
construção de cada estrada e, com essa informação, pretende-se executar a obra gastando o mínimo
possível… Um governo exemplar! Escreva um programa que, usando grafos, solucione esse problema,
por meio do algoritmo de Kruskal, para construção da árvore geradora mínima (AGM).
Seu programa receberá um arquivo de entrada, informando quanto custaria cada estrada para
conectar as cidades. O arquivo contém: número de cidades, na primeira linha; custos das estradas, como
uma matriz espaçada por tabulação, nas demais linhas. Observe, logo abaixo, um exemplo simples de
arquivo de entrada. Para ler arquivos, em Java, consulte a classe BufferedReader.
4
0 1 5 3
1 0 4 2
5 4 0 6
3 2 6 0

Como posso implementar???

Olá dvldudu,

Comece tentando modelar o seu problema. Por exemplo, um polinômio é uma lista de termos, não é? Cada termo possui os seguintes atributos:

  • grau ( que é o expoente );
  • coficiente.
    Por exemplo, no termo 2x^3, o grau é 3 e o coeficiente é 2.

Baseado nessas informações, você pode construir as seguintes classes:

public class Termo { double coeficiente; int grau; // Vamos assumir que os polinômios possuem graus inteiros } public class Polinomio { List<Termo> termos; }

Pronto, o resto é com você :stuck_out_tongue:
Tente começar e poste suas dúvidas no fórum depois.

Abraços

[quote=Mr. Smith]O governo pretende conectar algumas cidades por meio de estradas; estudaram-se os custos para
construção de cada estrada e, com essa informação, pretende-se executar a obra gastando o mínimo
possível… Um governo exemplar! Escreva um programa que, usando grafos, solucione esse problema,
por meio do algoritmo de Kruskal, para construção da árvore geradora mínima (AGM).
Seu programa receberá um arquivo de entrada, informando quanto custaria cada estrada para
conectar as cidades. O arquivo contém: número de cidades, na primeira linha; custos das estradas, como
uma matriz espaçada por tabulação, nas demais linhas. Observe, logo abaixo, um exemplo simples de
arquivo de entrada. Para ler arquivos, em Java, consulte a classe BufferedReader.
4
0 1 5 3
1 0 4 2
5 4 0 6
3 2 6 0

Como posso implementar???[/quote]

hehehe. Tá brincando, né? Não espera que o pessoal do fórum faça por você!

Tente criar algumas classes e monte uma classe principal que executa o processo…

Sobre arquivos em Java… Procure por Streams e Readers ( como o BufferedReader )

[quote=Mr. Smith]O governo pretende conectar algumas cidades por meio de estradas; estudaram-se os custos para
construção de cada estrada e, com essa informação, pretende-se executar a obra gastando o mínimo
possível… Um governo exemplar! Escreva um programa que, usando grafos, solucione esse problema,
por meio do algoritmo de Kruskal, para construção da árvore geradora mínima (AGM).
Seu programa receberá um arquivo de entrada, informando quanto custaria cada estrada para
conectar as cidades. O arquivo contém: número de cidades, na primeira linha; custos das estradas, como
uma matriz espaçada por tabulação, nas demais linhas. Observe, logo abaixo, um exemplo simples de
arquivo de entrada. Para ler arquivos, em Java, consulte a classe BufferedReader.
4
0 1 5 3
1 0 4 2
5 4 0 6
3 2 6 0

Como posso implementar???[/quote]
Pra complementar o que o thegoergen falou:
http://pt.wikipedia.org/wiki/Algoritmo_de_Kruskal

O Pessoal anda folgado né ?? Só posta o enunciado do problema e espera que alguém faça tudo assim, entregue de mão beijada, só compilar. Não é bem assim não, da uma quebrada de cabeça ai e monta um programa basico, nem que não tenha lógica nenhuma para depois agente ver o que pode ser arrumado…

Boa tarde! Tem alguém aí?

O governo pretende conectar algumas cidades por meio de estradas; estudaram-se os custos para
construção de cada estrada e, com essa informação, pretende-se executar a obra gastando o mínimo
possível… Um governo exemplar! Escreva um programa que, usando grafos, solucione esse problema,
por meio do algoritmo de Kruskal, para construção da árvore geradora mínima (AGM).
Seu programa receberá um arquivo de entrada, informando quanto custaria cada estrada para
conectar as cidades. O arquivo contém: número de cidades, na primeira linha; custos das estradas, como
uma matriz espaçada por tabulação, nas demais linhas. Observe, logo abaixo, um exemplo simples de
arquivo de entrada. Para ler arquivos, em Java, consulte a classe BufferedReader.
4
0 1 5 3
1 0 4 2
5 4 0 6
3 2 6 0

Eu gostaria apenas de saber como começar…
Eu sou iniciante em Java, comecei ler alguns tutoriais sobre o assunto mas não achei nenhuma informação que condiz com o que estou querendo.
Será que vou entrar com uma matriz???
Onde posso declarar a função de leitura e escrita de arquivo?
eu só gostaria de esclarecer que eu não quero que façam o trabalho para mim e sim dar dicas mais claras que me ajude a fazer este exercício…

Para quem está começando é muito díficil mesmo!!!
Preciso apenas de uma dicas para que possa testar… e discutir sobre o assunto para que seja mais positvo possível…
Abraço pra todos !!

class Classe {
Classe() {
System.out.println(“Instanciou!”);
}
}

public class Programa {
public static void main(String[] arg) {
Classe[] objeto;
objeto = new Classe[10];
for (int i = 0; i < 10; i++)
objeto[i] = new Classe();
}
}

Alguém poderia me dar umas dicas…

Eu passei o Código aí…
Eu já postei o exercício pra ver se alguém pode me ajudar…
mas até agora ninguém postou com exceção do Tnaires que me passo uum LINK legal e interessante…
Eu estou só querendo saber como começar a implementar
pra fazer este exercício…
Me ajudem aí …Galera…pra isto existe o Forum…
pra trocas ideias …pra dividir pra conquistar …
Boa tarde pra Todos…

Cara, você deve se preocupar menos com a tecnologia agora. Estude grafos. Veja as formas de representação de grafos em linguagens de programação ( matriz de adjacências, lista de adjacências, etc ). Depois estude grafos ponderados, árvore geradora mínima e, por fim, o algoritmo de Kruskal; uma busca no Google retorna várias implementações em linguagens diferentes - até em Java.

Esse exercício não é trivial, por isso que não dá pra passar todos esses conceitos em poucos posts num fórum.

[quote=tnaires]Cara, você deve se preocupar menos com a tecnologia agora. Estude grafos. Veja as formas de representação de grafos em linguagens de programação ( matriz de adjacências, lista de adjacências, etc ). Depois estude grafos ponderados, árvore geradora mínima e, por fim, o algoritmo de Kruskal; uma busca no Google retorna várias implementações em linguagens diferentes - até em Java.

Esse exercício não é trivial, por isso que não dá pra passar todos esses conceitos em poucos posts num fórum.[/quote]

Obrigado!!! Tnaires… Agora…vc me animou…Valew mesmo!!
Mas como que faço pra começar será tenho que entrar com uma matriz???
isto estou com dúvida!!!
Aquele abraço!!

[quote=Mr. Smith][quote=tnaires]Cara, você deve se preocupar menos com a tecnologia agora. Estude grafos. Veja as formas de representação de grafos em linguagens de programação ( matriz de adjacências, lista de adjacências, etc ). Depois estude grafos ponderados, árvore geradora mínima e, por fim, o algoritmo de Kruskal; uma busca no Google retorna várias implementações em linguagens diferentes - até em Java.

Esse exercício não é trivial, por isso que não dá pra passar todos esses conceitos em poucos posts num fórum.[/quote]

Obrigado!!! Tnaires… Agora…vc me animou…Valew mesmo!!
Mas como que faço pra começar será tenho que entrar com uma matriz???
isto estou com dúvida!!!
Aquele abraço!![/quote]

Vc pode usar matriz. Matriz de adjacência como o colega já citou acima. Não lembro agora se o algoritmo de Kruskal fica mais performático usando lista de adjacência, mas você pode usar matriz tranquilamente.

A matriz a ser usada é essa que você já tem no exemplo.

Ai fala por exemplo que o custo de construir a estrada que vai da cidade 1 pra cidade 3 é 5.

Um exemplo de uso da classe BufferedReader é:

 public void bm_buffTokenizer(){
BufferedReader buff = new BufferedReader("instancia um arquivo aqui");
StringTokenizer st = null;
String line = null;
int x = 0;
try {
while((line = buff.readLine()) != null){
st = new StringTokenizer(line);
while(st.hasMoreTokens()){
x = Integer.parseInt(st.nextToken());
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

A partir daqui amigão é com você.

[quote=lavh][quote=Mr. Smith][quote=tnaires]Cara, você deve se preocupar menos com a tecnologia agora. Estude grafos. Veja as formas de representação de grafos em linguagens de programação ( matriz de adjacências, lista de adjacências, etc ). Depois estude grafos ponderados, árvore geradora mínima e, por fim, o algoritmo de Kruskal; uma busca no Google retorna várias implementações em linguagens diferentes - até em Java.

Esse exercício não é trivial, por isso que não dá pra passar todos esses conceitos em poucos posts num fórum.[/quote]

Obrigado!!! Tnaires… Agora…vc me animou…Valew mesmo!!
Mas como que faço pra começar será tenho que entrar com uma matriz???
isto estou com dúvida!!!
Aquele abraço!![/quote]

Vc pode usar matriz. Matriz de adjacência como o colega já citou acima. Não lembro agora se o algoritmo de Kruskal fica mais performático usando lista de adjacência, mas você pode usar matriz tranquilamente.

A matriz a ser usada é essa que você já tem no exemplo.

Ai fala por exemplo que o custo de construir a estrada que vai da cidade 1 pra cidade 3 é 5.

Um exemplo de uso da classe BufferedReader é:

 public void bm_buffTokenizer(){
BufferedReader buff = new BufferedReader("instancia um arquivo aqui");
StringTokenizer st = null;
String line = null;
int x = 0;
try {
while((line = buff.readLine()) != null){
st = new StringTokenizer(line);
while(st.hasMoreTokens()){
x = Integer.parseInt(st.nextToken());
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

A partir daqui amigão é com você.[/quote]

Obrigado!!! Valew mesmo!! A idéia de ler do arquivo é até tranquila…
a dificuldade que estou tendo é de representar utilizando o algoritmo de Kruskal para percorrer…os vertices e terminar o menor…
Sei que é necessário ordenar os pesos segundo a regra… mas como que faço isto??? Já que é o custo que está em jogo!

obrigado pela atenção!# public void bm_buffTokenizer(){

BufferedReader buff = new BufferedReader(“instancia um arquivo aqui”);

StringTokenizer st = null;

String line = null;

int x = 0;

try {

while((line = buff.readLine()) != null){

st = new StringTokenizer(line);

while(st.hasMoreTokens()){

x = Integer.parseInt(st.nextToken());

}

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

Pessoal !! Boa noite é sobre algoritmo Kruskal, é que estou fazendo um trabalho de um mapa de uma região e precisaria saber, como posso andar por todos as cidades(vértices), sem fechar ciclo, ai preciso pegar as menores arestas.
Valew!!

pessoale eu estou fazendo um programa só estou tento de dificuldade de ler uma matriz como entrada em JAva…e salvar posteriormente
o Código e este este mas está dando pal toda hora…
Preciso de ajuda de vcs … pra que eu naõ desanime…Eu acredito que posso resolver esta parada…
Pois o Bicho tá pegando…valew…

public class Grafos
{
public static void main(String[] argumentos) {
int tamanhoV = 4;
int[][] matriz = new int[tamanhoV][tamanhoV];

	for (int i = 0; i < tamanhoV; i++) {
		for (int j = 0; j < tamanhoV; j++) {
			matriz[i][j] = (i == j) ? 0 : 1;
		}
}
public void GravarReg(int cod, String nome) throws IOException
{   
	FileOutputStream out=new FileOutputStream("alpha.txt") ;   
	PrintStream saida = new PrintStream (out);	
	try
	{ 		
		saida.println(cod + " " + nome + '\n');   
		saida.close();
		saida.flush();
	} catch(Exception e)
	{   
		System.err.println(e);   
	}   
}  

// FUNÇÃO QUE LER ARQUIVO
public static void main(String[] args) {
	try {
		Matriz m=new Matriz();
		m.GravarReg(4,"arquivo");
		FileInputStream in = new FileInputStream("alpha.txt");
		DataInputStream file = new DataInputStream(in);
		String str;
		
		while ( file.available()!=0){
			str=file.readLine();
			System.out.println(str);// escreve na tela
		}
		in.close();
	} catch (IOException e) {
		e.printStackTrace();
	}		
	
}

}
}

Como que faço pra ler e escrever de em arquivo.txt existente na qual tenho
a seguinte matriz:

4
0 1 0 0
1 0 4 2
0 4 0 0
0 2 0 0

Só preciso desta dica!!!
valew!!