Ir ao conteúdo
  • Cadastre-se

Cesar Augusto Beletatti

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Tudo que Cesar Augusto Beletatti postou

  1. Olha, eu preciso saber se tem como colocar para gravar em uma matriz mais de um "atributo", tipo uma struct em c, estou tentando fazer uma maquina de turing em java, e não estou conseguindo fazer a parte da transição, olha o código package javaapplication2;import java.util.Scanner;public class JavaApplication2 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int max = 100; String[] estados = new String[max]; String estadoInicial; String[] estadosFinais = new String[max]; int qtEstados, qtEstadosF, qtAlfabeto, qtAlfabetoAux; String[] alfabeto = new String[max]; String[] alfabetoAux = new String[max]; String branco, inicial; int qtTransicao; String[][] transicao = new String[max][max];// Quantidade de estados da maquina de Turing System.out.println("Digite a quantidade de Estados: "); qtEstados = input.nextInt(); // Pedindo o nome dos estados. input.nextLine(); // "Limpar" uma linha inteira do buffer for (int i = 0; i < qtEstados; i++) { System.out.println("Digite o nome do " + (i + 1) + "º estado: "); estados[i] = input.nextLine(); } System.out.println("------------------------------------------------------------------------------------");// Mostrar os valores contidos no vetor for (int i = 0; i < qtEstados; i++) { System.out.println("Estado " + (i + 1) + " = " + estados[i]); } System.out.println("------------------------------------------------------------------------------------");// Pedir o estado inicial System.out.println("Digite o estado Inicial: "); estadoInicial = input.nextLine(); System.out.println("------------------------------------------------------------------------------------");// Pedir a quantidade de estados finais System.out.println("Digite a quantidade de estados finais existentes: "); qtEstadosF = input.nextInt(); System.out.println("------------------------------------------------------------------------------------"); if (qtEstadosF > qtEstados) { // Se a quantidade de estados finais for maior que a quantidade de estados, da erro System.out.println("Erro: a quantidade de estados finais é maior ou iqual a quantidade de estados."); } else { /* Se a quantidade de estados finais for menor que a quantidade de estados, pede para informar quais são os estados finais */ input.nextLine(); // "Limpar" uma linha inteira do buffer for (int i = 0; i < qtEstadosF; i++) { System.out.println("Digite os estados finais: "); estadosFinais[i] = input.nextLine(); } System.out.println("------------------------------------------------------------------------------------\n");// Mostrar quais são os estados finais for (int i = 0; i < qtEstadosF; i++) { System.out.println("Estado Final: " + estadosFinais[i]); } System.out.println("------------------------------------------------------------------------------------\n"); } // Pedir a quantiade de simbolos do alfabeto da maquina de turing System.out.println("Digite a quantidade de simbolos do alfabeto: "); qtAlfabeto = input.nextInt(); input.nextLine(); // Pedir os simbolos do alfabeto for (int i = 0; i < qtAlfabeto; i++) { System.out.println("Digite o " + (i + 1) + "º simbolo do Alfabeto: "); alfabeto[i] = input.nextLine(); } System.out.print("Alfabeto:"); //Mostrando o Alfabeto for (int i = 0; i < qtAlfabeto; i++) { System.out.print(alfabeto[i] + ","); } System.out.println(""); // Pedir quantidade de simbolos do alfabeto aux System.out.println("Digite a quantidade de simbolos do Alfabeto Auxiliar: "); qtAlfabetoAux = input.nextInt(); System.out.println("------------------------------------------------------------------------------------\n"); input.nextLine(); for (int i = 0; i < qtAlfabetoAux; i++) { System.out.println("Digite o " + (i + 1) + "º simbolo do alfabeto Auxiliar:"); alfabetoAux[i] = input.nextLine(); } System.out.println("------------------------------------------------------------------------------------\n"); for (int i = 0; i < qtAlfabetoAux; i++) { // Mostrando o alfabeto aux System.out.println("Alfabeto Auxiliar:" + alfabetoAux[i]); } System.out.println("Quantas transições existem: "); qtTransicao = input.nextInt(); branco = "ß"; System.out.println("Branco: " + branco); inicial = "<"; System.out.println("Simbolo Inicial: " + inicial); } } Tipo, o que estou pensando em fazer, é pedir para o usuário informar qual o estado atual, e pra qual estado vai a transição, dai pedir a transição entre esses dois estados para o usuário, e gravar essa transição em uma posição de uma matriz ou um vetor ainda não sei, só que essa transição terá 3 "atributos". Exemplo transição de s1 para s2 e transição ficaria s2,A,D s2 = significa para que estado vai. A = indica que o "a" do alfabeto mudou para "A" que é o alfabeto auxiliar. D = indica que a a fita andou para a direita. E tipo como eu faço para ler palavra por palavra, exemplo o usuário quer saber se a palavra "aabb" pertence a maquina que foi inserida, como faço para pegar letra por letra, para poder ler a palavra. Eu sei que esta meio confuso, mas alguém pode me dar uma ajuda, ou algumas dicas de como eu posso fazer isso, e queria saber se estou no caminho certo para esse trabalho. Obrigado. Agradeço desde já.

Sobre o Clube do Hardware

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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!