Оптимизация программы перевода в транслит и обратно - C#
Формулировка задачи:
Помогите, пожалуйста, исправить код этой программы (переводит в транслит и обратно), как сделать так, чтобы прога отличала "yu", "ya" друг от друга? (преподаватель еще говорил, что 2-е символы нужно в самом начале писать.)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication43
{
class StringArray
{
string[] RusT = { "а", "б", "ц", "д", "е", "ф", "г", "х", "и", "й", "к", "л", "м", "н", "о", "п", "к", "р", "с", "т", "у", "в", "в", "х", "", "з" };
string[] Eng = { "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" };
string[] Rus = { "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я" };
string[] EnglT = { "a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "y", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "c", "ch", "sh", "sch", "'", "i", "'", "eh", "yu", "ya" };
public string str = "";
string flag = "";
public void input()
{
Console.WriteLine("Выбор языка : 1. русский -> транслит");
Console.WriteLine(" 2. транслит -> русский");
flag = Console.ReadLine();
Console.WriteLine("input :");
str = Console.ReadLine();
}
public void processEng()
{
int i = 0;
while (i < Eng.Length)
{
str = str.Replace(Eng[i], RusT[i]);
i++;
}
return;
}
public void processRus()
{
int i = 0;
while (i < Rus.Length)
{
str = str.Replace(Rus[i], EnglT[i]);
i++;
}
return;
}
public void proc()
{
if (flag == "1")
{
processRus();
return;
}
if (flag == "2")
{
processEng();
}
return;
}
static void Main(string[] args)
{
StringArray t = new StringArray();
t.input();
t.proc();
Console.WriteLine(t.str);
Console.ReadKey();
}
}
}Решение задачи: «Оптимизация программы перевода в транслит и обратно»
textual
Листинг программы
string[] Rus = { "щ","ю", "я" , "ч", "ш","х", "э", "а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "ц" "ъ", "ы", "ь"};
string[] EnglT = { "sch", "yu", "ya" , "ch", "sh","kh", "eh" "a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "y", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "c", "'", "i", "'"};