Dekoder alfabetu morse'a

0

Witam potrzebuje pomocy. Chcialbym napisac program w javie do kodowania i dekodowania alfabetu morsa. Pierwsza czesc juz udalo mi sie wykonac czyli zamiana z normalnego alfabetu na morsa a z druga mam problem nie ma pomyslu jak to zrobic moze ktos ma jakis pomysl byl bym wdzieczny

0

A z czym masz konkretnie problem ?
Jeśli zakodowałeś coś w alfabecie Morse'a to może pomiędzy kodami liter umieść znak, który jest spoza alfabetu: np: | Teraz będzie Ci łatwiej rozpoznawać czemu odpowiada dany ciąg znaków.

0

Może jakaś struktura drzewiasta?

0

Moj program wyglada tak:

import java.io.*;

class cnoverter
{
	public static void main(String args[]) throws IOException
	{
		char tab1 []={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0','.',',','?','+','-','=',';',':',' '};

		String tab2[]={".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--..",".----","..---",".--","....-",".....","-....","--...","---..","----.","-----",".-.-.-","--..--","..--..",".-.-.","-....-","-...-","-.-.-.","---...","  "};


        System.out.println("Witaj w konwerterze alfabetu morsea");
		System.out.println();
		System.out.println("Podaj tekst ktory chcesz przekonwertowac");
		System.out.println();
		System.out.print("Podany tekst to: ");

		BufferedReader we=new BufferedReader(new InputStreamReader(System.in));
		String x=we.readLine();



		if(x.charAt(0)!='.' && x.charAt(0)!='-')
		{
				System.out.println();
				for(int i=0;i<x.length();i++)
				{
					for(int j=0;j<tab1.length;j++)
					{
						if(x.charAt(i)==tab1[j])
						{

							System.out.print(tab2[j]+"  ");

						}
					}

				}
				System.out.println();
				System.out.println();

		}



		else
		{

			for(int t=0;t<x.length();t++)
			{

				for(int d=0;d<tab2.length;d++)
				{
					if(x.equals(tab2[d]))
						System.out.println(tab1[d]);
				}





			}

		}




	}

}

i teraz mam problem zeby odkodowaz wyraz bo jeden znak wmiare odkodowywuje ale wyraz to juz mam drobny problem

0

Sorka troche mi sie linijka z 2 tablica rozjechala tam jest tablica stringow

0

Jeżeli dobrze policzyłem, to "oo" => "------" oraz "mmm" => "------".
Zatem po odczytaniu wyrazu "------" nie można go odkodować. Jeśli odkodowujesz tylko ciągi, które sam zakodowałeś, to rozwiązaniem jest
dodawanie separatora (np. "|") po każdym znaku w alfabecie Morsa "oo" => "---|---|", "mmm" => "--|--|--|".
pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1