Neuroware: странно , по идее из примера должна складываться.
Попробовал дать на вход куски из которых вручную можно сложить , выдает "не вышло ".
А можно как-то ограничить,чтобы выдавал только один вариант если он есть , а не разные или хотябы не показывал несколько раз "не вышло"?
Кстати предложен еще вариант решения "В памяти строится ориентированный граф, в вершинах которого находятся фрагменты, а связи соединяют два фрагмента, если фрагмент-источник может быть слева от фрагмента-приемника. Далее в графе ищутся все пути и для каждого проверяется, что он содержит в себе все фрагменты. Если такой путь один, то задача считается решенной" , но это я не представляю как реализовывать . Есть конечно класс Graph , но по MSDN не понятно как его использовать.
Neuroware: пока так pastebin.com/5uQ8666K но работает не совсем правильно , пока не могу понять почему (
Если поможете буду очень благодарен
skype karasu408
icq 663827007
Neuroware: Каркас получается должен быть таким?
class Genome
{
public string[] geni;
public Genome(string[] str) { geni = str; }
public void perebor_elementov (string [] geni)
{
for (int i = 0; i < geni.Length; i++)
{ Assembly(geni[i],geni); }
}
public string Assembly (string gen,string[] geni)
{
string result = string.Empty;
return result;
//Здесь сравнение элемента с другими и соединение
}
}
Не секрет , дали для лабораторной по тестированию ПО , чтобы потом к ней тесты писать(stepanoff.info/testing/materials/Lab2.pdf).
Попросил что-нибудь не тривиальное, вот и отхватил)
Исходная задача:Молекула ДНК состоит из последовательностей нуклеотидов А, Г, Ц и У. Несколько одинаковых молекул известной длины были нарезаны на фрагменты произвольной длины. Функция восстанавливает исходную молекулу в том случае, если это возможно сделать единственным образомПример: АГЦЦГГУААЦЦ нарезана нафрагменты АГЦЦ, ЦГГУ , ГГУАА и УААЦЦ.Примерневосстанавливаемой последовательности: АГЦЦГГУААЦЦ нарезана на фрагменты АГЦЦ, ГГУАА и УААЦЦ.
Попробовал дать на вход куски из которых вручную можно сложить , выдает "не вышло ".
А можно как-то ограничить,чтобы выдавал только один вариант если он есть , а не разные или хотябы не показывал несколько раз "не вышло"?
Кстати предложен еще вариант решения "В памяти строится ориентированный граф, в вершинах которого находятся фрагменты, а связи соединяют два фрагмента, если фрагмент-источник может быть слева от фрагмента-приемника. Далее в графе ищутся все пути и для каждого проверяется, что он содержит в себе все фрагменты. Если такой путь один, то задача считается решенной" , но это я не представляю как реализовывать . Есть конечно класс Graph , но по MSDN не понятно как его использовать.