1. C# / Говнокод #5126

    +113

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    let rnd = System.Random()
     
    // создаём строку, содержащую 10 случайных чисел, разделённых пробелами
    let sourceString = System.String.Join (" ", [1..10] |> List.map (fun x -> rnd.Next(1, 10).ToString()))
     
    // функция, удаляющая повторяющиеся числа из строки
    let removeDuplicate str =
        // разбиваем строку на отдельные числа
        let sourceList = sourceString.Split ([|' '|]) |> Array.toList |> List.map (fun x -> System.Int32.Parse (x))
        
        // список, в который будем ложить неповторяющиеся элементы
        let newList = ref []
     
        // проходим по всем элементам исходного списка
        List.iter
            (fun x -> 
                // если элемента в новом списке ещё нет, кладём его туда
                if (List.exists (fun y -> y = x) !newList) = false 
                then (newList := List.append !newList [x]))
            sourceList
     
        // получаем строку из списка с неповторяющимися элементами
        System.String.Join (" ", !newList |> List.map (fun x -> x.ToString()))
     
    // получаем новую строку
    let resultString = removeDuplicate sourceString
     
    // выводим старую и новую строку
    printfn "%s" sourceString
    printfn "%s" resultString

    Запостил: qbasic, 01 Января 2011

    Комментарии (37) RSS

    Добавить комментарий