Задать вопрос
  • Найти сумму элементов расположенных между 1 и 2 отрицательными элементами?

    tomnolane
    @tomnolane
    профессиональный разработчик
    глаза разбегаются и появляются много слов, начинающих с "почему?" и "зачем это..."
    я опущу комментарии некоторые и просто дам вам очень простой способ, как через while
    Найти сумму элементов расположенных между 1 и 2 отрицательными элементами

    //допустим, в ниже переменных вы тем или иным способом уже получили какие-то данные
     double[] val1 = {-13.2, -14.8, 23, 0, -2.1, -6};
                double[] val2 = { -18.8, -11.2, 13, 0, -4.5, -2 };
                double sum = 0;
                int temp = 0;
                int temp2 = 1;
    
                //между массивами c одинаковым индексом
                while (sum == 0)
                {
                    if (val1[temp] < 0 && val2[temp] < 0)
                    {
                        sum = val1[temp] + val2[temp];
                    }
                    temp++;
                }
                Console.WriteLine("Сумма: " + sum);
    
                sum = 0; temp = 0;
                //между массивами c разным индексом
                while (sum == 0)
                {
                    if (val1[temp] < 0)
                    {
                        sum += val1[temp];
                        bool yeap = false;
                        while (yeap == false)
                        {
                            if (val2[temp2] < 0) { sum += val2[temp2]; break; }
                            temp2++; 
                        }
                        break;
                       
                    }
                    temp++;
                }
                Console.WriteLine("Сумма: " + sum);
    
    
                //1) если даны два массива с перемешанными данными и нужно найти
                //у каждого массива свои отрицательные числа и сложить (1 и 2-ой)
                sum = 0; temp = 0; temp2 = 0;
                double[] val3 = { -13.2, -14.8, -23, 0, -2.1, -6 };
                double[] val4 = { 2, -11.2, 13, 10, -4.5, 5 }; 
                
                //для 1 массива
                while (temp2 < 2)
                {
                    if (val3[temp] < 0)
                    {
                        sum += val3[temp];
                       temp2++;
                    }
                    temp++; 
                }
                Console.WriteLine("Сумма первых двух отрицательных чисел у массива val3: " + sum);
    
                sum = 0; temp = 0; temp2 = 0;
                //для 2 массива (аналогично)
                while (temp2 < 2)
                {
                    if (val4[temp] < 0)
                    {
                        sum += val4[temp];
                        temp2++;
                    }
                    temp++;
                }
                Console.WriteLine("Сумма первых двух отрицательных чисел у массива val4: " + sum);
    
                //2) если даны два массива с перемешанными данными и нужно найти
                //1 отрицательное число у первого массива со вторым отрицательным числом у второго массива
                sum = 0; temp = 0; temp2 = 0;
                int temp3 = 0;
                while (temp2 < 1 || temp3 < 2)
                {
                    if (val3[temp] < 0 && temp2 == 0)
                    {
                        sum += val3[temp];
                        temp2++;
                    }
    
                    if (val4[temp] < 0 && temp3 < 2)
                    {
                        if(temp3 == 1) { sum += val4[temp]; }
                        temp3++;
                    }
    
                    temp++;
                }
                Console.WriteLine("Сумма первых двух отрицательных чисел у массивов val3(1 отрицательное) и у val4(2 отрицательное): " + sum);


    п.с. рекомендую поощрять людей, которые вам помогают (судя по вашему "портфолио" - вы не особо используете кнопки "отметить решением" и "нравится", а ведь даже кошке доброе слово приятно)
    Ответ написан
    Комментировать
  • Почему сохраняет только водяной знак?

    @kvasek
    У вас очень тяжёлый код.
    Может проблемы нет ? попробуйте для watermar взять прозрачную картинку )) картинка с фоном перезатерает основное изображение.

    У меня этот метод работает нормально ))

    На заметку ваш код очень трудно читаем, абсолютно не форматирован и с именами в переменных тоже есть проблемы. Вы поймите правильно я не пытаюсь вас обидеть, а пытаюсь вам помочь. Почитайте кодстайл для C# и пару книг по чистому коду, растите и развивайтесь и все будет хорошо.

    А есть еще непонятный кусок кода очень непонят, например if который ничего не делает, и много другое это просто печаль ((
    if (sfd.ShowDialog() == DialogResult.OK);

    Или вот кусочек
    if (saveFileDialog.ShowDialog() == DialogResult.OK)
                    pictureBox1.Refresh();
                  
                {
                    return saveFileDialog.FileName;
                }
                return "";

    Вам не кажется что последний return никогда не сработает ?

    Запомните код это лицо программиста.
    Ответ написан
    Комментировать
  • Почему не работает одна ветвь кода в программе?

    @akass
    Developer
    Все работает как надо, достаточно по шагам пройти в отладке.
    Ты не сконвертировал строки в числа. Поэтому компилятор берет код символа из таблицы su0.ru/WlLx
    целочисленный код семерки 55, код единицы 49, в сумме 104. Так что все правильно.
    Например вот так будет работать как ты хочешь, но конечно так не правильно делать.
    x = Convert.ToInt32(equation[4].ToString()) + Convert.ToInt32(equation[2].ToString());
    Ответ написан
    3 комментария
  • Как правильно составить регулярное выражение?

    kawabanga
    @kawabanga
    Зачем вам рег выражения?
    Тащите через xpath
    Ответ написан
    Комментировать
  • Как автоматически получить транскрипцию английского слова из Яндекс-переводчика?

    Gorily
    @Gorily
    Сразу предупреждаю: вы должны понимать, что нарушаете правила пользования сервисами Яндекса и ни в коем случае не должны использовать такие решения в коммерческих целях. Надеюсь на ваше благоразумие.

    По поводу решения: лучше зайти со стороны внутреннего API, используемого на сайте.
    Вот простейший вариант решения. Для парсинга Json используется библиотека Json.Net (можете переписать на парсинг стандартной библиотекой .Net, мне просто так было быстрее написать пример).
    const string text = "dog";
    var translateUrl = "https://dictionary.yandex.net/dicservice.json/lookup?ui=ru&text="
                        + text + "&lang=en-ru&flags=23";
    
    using (var wc = new WebClient())
    {
        wc.Encoding = Encoding.UTF8;
        var resultHtml = wc.DownloadString(translateUrl);
        dynamic trsJson = JObject.Parse(resultHtml);
    
        var trs = trsJson.def[0].ts;
        Console.WriteLine("Транскрипция: " + trs);
    }
    Ответ написан
    Комментировать
  • "switch case" - плохо?

    @Espleth
    Я вам могу такой код скинуть, что вы что там не только о switch case забудете, а о синтаскическом сахаре вообще.
    Как вы думаете, этот код будет показателем того, что синтаксический сахар - это плохо?
    Я думаю суть вы поняли. Где-то удобнее использовать if-else, где-то switch-case. Кто-то просто не любит switch-case по каким-то там своим причинам.
    Главное что бы не было такого, а то я видел уже как-то, причем в не самом маленьком проекте:
    switch (*bool переменная*)
    {
        case true:
            *действия*
        break;
    }
    Ответ написан
    Комментировать
  • Пользовательский интерфейс и C# на html?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    > Значит возможен ли UI с помощью html, css и js?
    Теоретически - возможен.
    Практически - для десктопа нет ничего более высокоуровневого, чем браузерные движки (в которых очень многого не хватает, поэтому многое придется сделать самому), вот обзор нескольких движков:
    www.codeproject.com/Tips/825526/Csharp-WebBrowser-...
    Еще один серьезный минус - тяжеловесность (несколько десятков мегабайт будет весить движок).
    Правда, еще можете HTMLayout/Scite глянуть, я их особо не видел, из преимуществ - легкий вес, нужно будет и мне их глянуть, но видимо вменяемых оберток под .NET для них нет, а это плохо.

    На мобильниках есть PhoneGap и React Native (благо в Android 4.x из коробки уже входит нормальный браузерный движок, а не такой, как IE - WebBrowser на винде), но они сыроваты, толком не документированы, малоизвестны.
    Скорее это не для "великолепного" интерфейса, а для интерфейса быстросоздаваемого, когда есть наработки на HTML+CSS+JS и надо на них построить GUI в мобильном приложении. И кроме этих HTML+CSS+JS, в приложении особо ничего больше и не планируется.
    Скажем, есть некий сайт, и нужно напилить для него мобильный клиент (типа как для VK, Facebook и т.д.) Так как сайт, слава Богу, имеет стройное RESTful API, то проще не писать нативный GUI, а взять ту же веб-морду на HTML+CSS+JS, прилепить ее к PhoneGap и с помощью какой-то матери сбилдить все это.

    В Atom и VS Code, возможно, дело было отчасти в том, что именно те алгоритмы, в которых было автодополнение, подсветка синтаксиса для HTML, CSS, JS (и прочие основные возможности любой IDE), - именно те алгоритмы были только на JS (или готовые контролы для этого были на HTML+CSS+JS). А так как - еще раз - это основа любой IDE, то ничего удивительного.
    Ну и да, VS Code и Atom - в основном рассчитаны на Web-разработчиков, среди которых есть и линуксоиды и маководы, и немало, поэтому в данном случае имеет хоть какой-то смысл кроссплатформенность - которая в иных случаях не дает ничего, кроме затруднения разработки и падения ее качества.

    > Ходят слухи что WPF, помирает
    Запомните раз и навсегда - никакой инструмент просто так не помирает.
    Паровозы не исчезнут, пока не появятся тепловозы и электровозы.
    Где альтернатива для WPF?
    MS напилил новую платформу Windows Universal Apps (ранее - Metro), и усиленно проталкивает ее в массы, называя эти приложения "Windows Apps", ясно намекая, что якобы это и есть полноценные приложения для винды.
    Но дерьмо не станет конфеткой от того, что его завернут в фантик. WUP - по-прежнему сырое УГ, да и в будущем конфеткой не станет - кадры в MS давно уже не те, чтобы писать хорошие, гибкие, удобные фреймворки без избыточности во всех ее 50 оттенках.
    WPF и WinPhone уже были сыроваты - а еще более новый WUP еще хуже.
    Ну и да, замечу, что WUP далеко не принципиально новый, и во многом основан на том же WPF (поэтому не так и сложно перейти с одного на другое). WUP - это такой же "не WPF", как и Spartan - "не IE", и примерно как Bolgenos - не "Ubuntu".
    Ответ написан
    Комментировать
  • Пользовательский интерфейс и C# на html?

    Nipheris
    @Nipheris Куратор тега C#
    Значит возможен ли UI с помощью html, css и js?

    Возможен: Atom, VS Code и прочие приложения на Electron-е (не только они, разумеется, это как пример).
    Ходят слухи что WPF, помирает и толк его использования, сходит на нет.

    Не делайте поверхностных выводов. WPF это ж не какой-нидь дед старый, который когда помирает, мало чем уже семье помочь может. Если технология просто не так активно развивается, это не значит, что она по определению в хвосте какой-либо другой.
    Все, кто использует HTML для десктопного интерфейса это те, кто хочет а) кроссплатформенности; б) сделать свою софтину hackable, например чтобы можно было всякие плагины писать на js, и тем самым понравиться своим клиентам-разработчикам. Ну и еще в) те, кто кроме html+js стека ничего не знает, а декстопа тоже хочется ("мы же тоже люди").
    Ответ написан
    1 комментарий
  • Как организовать выборку элементов в HtmlAgilityPack?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Проблема в ваших XPath-выражениях.

    // - абсолютный путь, действует в контексте ВСЕГО документа, возвращает первую ветвь в документе, а не в той ветви, где вы это хотите. В этом случае SelectSingleNode всегда срабатывает как doc.DocumentNode.SelectSingleNode

    .// - относительный путь, действует именно относительно ДАННОЙ ветви
    Ответ написан
    Комментировать