Професионална програма
Loading...
+ Нов въпрос
ArmenPotourlyan+deleted! avatar ArmenPotourlyan+deleted! 488 Точки

Стринговете може да са с различна дължина и пак да са exchangeable!

The two words may not have the same length, if such is the case they are exchangeable only if the longer one doesn't have more types of characters then the shorter one

Трябва да добавиш случая, когато са с различна дължина. В момента винаги ти връща false.

1
murkata86 avatar murkata86 10 Точки

А, когато първата дума, е по - къса от втората, тогава трябва да ги разменим ли?

0
kaloyannikov avatar kaloyannikov 531 Точки

то в примера е даден точно този вариант примерно имаш : 

Clint и Eastwood

'C' се мапва с 'Е' 

'l' се мапва с 'а'

'i' се мапва с 's'

'n' се мапва с 'т'

't' се мапва с 'w'

и от 2рия string остават ood които не са мапнати съответно изкарваш false , а ако беше Eastwaat , оставаш с aat които вече са мапнати . и съответно изкарваш true , понеже са magic exchangeable.

1
murkata86 avatar murkata86 10 Точки

Примерите ги разбрах, но изглежда не съм си задал въпроса, както трябва. Исках да попитам дали трябва да им сменим местата ако първата дума е с по - голяма дължина от втората -> Eastwaat Clint

 

Съжалявам за недоразумението.

0
Rextor92 avatar Rextor92 149 Точки

Направили сте си задачата значително по-трудна, от колкото всъщност е. Не е необходимо да се използва речник! Практически условието се свежда до следното: всеки символ от първата дума да може да бъде мапнат на символ от втората. Решението е на 4 реда:
 

      string[] inputArray = Console.ReadLine().Trim().Split();
      HashSet<char> firstWord = new HashSet<char>(inputArray[0]);
      HashSet<char> secondWord = new HashSet<char>(inputArray[1]);
      Console.WriteLine( (firstWord.Count == secondWord.Count) ? "true" : "false" );

 

5
aruseva avatar aruseva 29 Точки

Ако двата стринга са ти  : acbc и deef  -> в твоя случай вади true, не трябва ли да е false?

2
kaloyannikov avatar kaloyannikov 531 Точки

false трябва да е , c се мапва с e и после b няма как да се мапне с e , и c вече е мапното с  е няма как да се мапне с f, идеята му е готина ,но за такива гранични случаи не работи .

0
aruseva avatar aruseva 29 Точки

Затова ни е нужен речник ;)

1