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

    +141

    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
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    using System;
    using System.Globalization;
    using System.IO;
     
    namespace CyberForumTasks
    {
        class Program
        {
            static void Main()
            {
                var text = File.ReadAllText("C:\\test.txt");
     
                for (var i = 0; i < text.Length - 1; i++)
                {
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("1"))
                                Console.Write("101");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("1"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                Console.Write("110");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("1"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("1"))
                                Console.Write("111");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                if (text[i + 3].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                    Console.Write("1000");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                if (text[i + 3].ToString(CultureInfo.InvariantCulture).Contains("1"))
                                    Console.Write("1001");
     
                    if (text[i].ToString(CultureInfo.InvariantCulture).Contains("1"))
                        if (text[i + 1].ToString(CultureInfo.InvariantCulture).Contains("0"))
                            if (text[i + 2].ToString(CultureInfo.InvariantCulture).Contains("1"))
                                if (text[i + 3].ToString(CultureInfo.InvariantCulture).Contains("0"))
                                    Console.Write("1010");
                }
            }
        }
    }

    Дан файл целых чисел. Продублировать в нем все числа, принадлежащие диапазону 5..10.

    Запостил: Psilon, 09 Января 2014

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

    • Нужен тег "лаба".
      Ответить
    • > CultureInfo.InvariantCulture
      Очень культурный код.
      Ответить
      • это называется - я поставил решарпер. и он мной руководит!
        Ответить
        • Решарпер пишет код, а я ему помогаю?
          Ответить
          • ага. есть такие клинические случаи. Причем зайти в настройки не судьба
            Ответить
    • Ctrl+C - Ctrl+V, Ctrl+C - Ctrl+V, ... , Ctrl+C - Ctrl+V, ...
      P.S. А почему программа называется "Задачи кибер форума"?
      Ответить
      • http://www.cyberforum.ru/csharp-beginners/thread1065843.html
        Ответить
        • Ава, предложившего сей ужас, как бы намекает нам, что шарп - не родной язык для него)
          http://img-fotki.yandex.ru/get/4008/phobia-of-ua.0/0_213fd_7b8b633_L.jpg
          Ответить
          • Мне авка тоже доставила :D
            Ответить
            • а твоя у меня в аське почти 10 лет.
              Ответить
              • а моя ава и ник уникальны и не у кого не стоят
                Ответить
              • So? Я её как-то давным давно на каком-то сайте поставил, тоже лет 10 назад, а когда тут регался она автоматом подхватилась, хз как, но факт.
                Ответить
          • Она ни на что не намекает. Может он рнр не любит или просто его картинка приколола?
            Ответить
    • наверное он хотел так
      namespace ConsoleApplication20
      {
          class Program
          {
              static void Main(string[] args)
              {
                  var text = File.ReadAllText("C:\\test.txt");
                  var output = new StringBuilder();
                  foreach (var c in text)
                  {
                      output.Append(c);
                      if (c <= '9' && c >= '5') output.Append(c);
                  }
                  Console.WriteLine(output.ToString());
                  Console.ReadKey();
              }
          }
      }
      Ответить
      • static void Main(string[] args)
                {
                    string input =  File.ReadAllText(@"C:\test.txt");
                    string result = Regex.Replace(input, @"\b([5-9])\b", "$1$1");
                    Console.WriteLine(result);
                }
        Ответить
        • Ну как он мог хотеть регулярок, если он циклы писать нормально не умеет?
          Ответить
          • А без регулярок трудно, ведь число "51" не подходит по заданию, а у вас в выводе будет "551", что не есть верно.
            Ответить
            • Хм, я себе задачу представлял так

              вход 827

              вывод 88277

              да, наверное я задачу не так понял
              Ответить
      • Там же "бинарный файл".

        Кстати, дикое сочетание i < text.Length - 1 и i + 2 никого не смутило? :)
        Ответить
        • Это единственное, что вас тут смущает?:)
          Ответить
          • Ну а что. Задача же решена:
            Спасибо всем за ответы, задача успешно решена))
            Ответить
            • Я думаю, ему в другом месте ответили, потому что ЭТО вряд ли бы стало работать "правильно"... :)
              Ответить
        • Там еще и i+3 есть. и последнее условие является копипастом первого с допиисью нового условия.
          строка 1010 породит 1011010

          А то что там никто никуда не удваивает не смутило? и то что там числа типа 5 6 7 8 9 вообще не исследуются?
          Или что чар конвертится в строку, а потом методом контейнт проверяется равенство с другой строкой, хотя можно было просто с чаром сравнить?

          Или что на форуме ему советовали
          >>Используйте класс StreamReader для чтения файла. Он может читать как весь файл так и по строкам.

          как будто это ему чем то поможет?

          Ээх...
          Ответить
      • Хотел но чучуть увлекся.
        Ответить
    • > файл целых чисел.
      по-любому придется создать временный файл, открываем источник для чтения, темповый для записи, и последовательно читаем целые. пишем (как копирование), если число в нужном диапазоне - пишем еще раз. так до конца, флашим, закрываем оба файла, исходник удаляем, перемещаем на его место наш временный. усе.
      а что хотел сделать автор сабжа - непонятно какую хуйню.
      Ответить
    • Psilon отличное гавницо, спасибо улыбнуло!
      Ответить

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