Си шарп с нуля

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Azelka
  • Звание: Алгоритмист
  • Накопленный опыт: 146 часов
  • Баланс Мегахешей: собрано 0 Mh, потрачено 0 Mh
  • Баланс Байтов: нет
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2021-07-17 08:09:49
  • Возраст: 50 лет

Видеокурсы

Дата активности Видеокурс Прогресс
2021-07-14 game0 Демо игры 7 из 10 70 %
2021-06-26 soft0 Демо софт 3 из 8 43 %
2021-06-24 start Начало здесь 6 из 9 %
Итого: 16 из 27 60 %

Консольные задачи

Дата активности Консольный раздел Прогресс
2021-07-17 solo C# набор 14 из 17 83 %
2021-07-15 task2 Типы данных 4 из 5 80 %
2021-07-15 task1 Лирика 7 из 14 50 %
2021-07-14 book 101. Математика 3 из 7 43 %
2021-07-11 task2 Алгоритмика все 20 100 %
2021-07-11 book 100. Массивы все 8 100 %
2021-07-08 task1 Строки все 14 100 %
2021-07-03 solo Java - Вывод данных 2 из 7 29 %
2021-07-02 solo Java - Запуск 10 из 13 77 %
2021-06-29 solo Java - Циклы все 2 100 %
2021-06-28 book 011. Циклы все 8 100 %
2021-06-19 olimp Олимпиада 1 из 40 3 %
2021-06-18 book 010. Условия все 8 100 %
2021-06-17 book 001. Числа все 8 100 %
2021-06-13 task1 Целые числа все 7 100 %
2021-06-13 book 000. Строки все 8 100 %
2021-06-11 task1 Семантика все 6 100 %
Итого: 130 из 192 68 %
Сохранить страницу:

29835. --
Daniyar Serjanovich
Daniyar Serjanovich
ответить
→  Azelka  # Демо игры / Бот для Быстрощёлка / 2021-07-13 19:30

Интересно однако!



31196. --
Azelka
Azelka
ответить
# Консоль / Алгоритмика / Регулярные выражения / 2021-07-11 10:38

Я , так понимаю, класс Regex схож с классом String , только возможностей в этом классе больше, это целая глава для изучения


31374. --
Залимхан
Залимхан
ответить
→  Azelka  # Демо игры / Лабиринт 2D - меню / 2021-07-11 01:18

Отличная реализация поставленной задачи.
Выполнено отлично!


31196. --
Azelka
Azelka
ответить
→  Залимхан  # Демо софт / Вступительное слово / 2021-07-08 18:09

"Взять себя и заставить сделать все это." --Это сложно, но ещё сложнее это делать каждый день. Наберись терпения и скоро это покажется пустяком. Удачи!


31196. --
Azelka
Azelka
ответить
# Консоль / 100. Массивы / Инкремент / 2021-07-07 10:27

Запятые и точка сделали простую задачу интересной
        int n = int.Parse(Console.ReadLine());
            string[] num = Console.ReadLine().Split();
            int[] a = new int[n];
            string line = "";
            for (int i = 0; i < n; i++)
            {
                a[i] = int.Parse(num[i]);
                line += Convert.ToString(++a[i]) + ",";
            }
            Console.WriteLine(line.TrimEnd(',') + ".");


31196. --
Azelka
Azelka
ответить
# Консоль / Алгоритмика / По цифрам / 2021-07-03 12:11

Мне показалось так проще:

            string num = Console.ReadLine();
            if ((num[0] + num[3]) == (num[1] + num[2]))
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }


2146. --
Иван
Иван
ответить
→  Azelka  # Демо софт / Двенадцать месяцев / 2021-07-01 20:57

Сделано своими руками - и это главное. В этом самое большое удовольствие!


31196. --
Azelka
Azelka
ответить
# Консоль / Алгоритмика / Последовательность / 2021-06-30 20:34

Автору задачи 5 звёзд! Задуматься заставил вопрос : как создать массив строк? Когда осознал, что строка и есть массив ( символов, слов, строк) и строки можно складывать, решение пришло сразу же:
            string s;
            string str = "";
            int sum = 0;

            while (str != (s =  Console.ReadLine()))
            {
                if (s == ".") break;
                str += s + " ";
            }
            str = str.TrimEnd(' ');
            string[] ai = str.Split();
            float[] bi = new float[ai.Length];

            for (int i = 0; i < ai.Length; i++)
            {
                sum += int.Parse(ai[i]);
                bi[i] = ((float)sum) / (i + 1);
                Console.WriteLine("{0:0.00}", bi[i]);
            }
Посмотрел видео-решение -в VS программа не прошла до конца, ошибка, да и вывод результата чередуется с вводом данных , не по условию.


31196. --
Azelka
Azelka
ответить
→  Dmitry Sinitsin  # Дневник успеха / 2020-10-11 : Кто любит труд, того люди чтут. / 2021-06-30 18:09

Не знаю , как оценить твою работу. На "хорошо" ты сделал мало , а  "плохо"  ты перевалил. Поставлю удовлетворительно, только кнопки такой нет, извини:)


31196. --
Azelka
Azelka
ответить
# Консоль / Алгоритмика / Точка и плоскость / 2021-06-28 18:20

Интересная программа. Пришлось вспомнить школьную программу. Возник вопрос : какие переменные нужно вводить для проверки сектора? Пришлось писать программу по нахождению координат точки окружности.


31196. --
Azelka
Azelka
ответить
# Консоль / 011. Циклы / Степень / 2021-06-27 09:23

Хорошая задача. Заставила подумать и найти решение к нулевой степени.
    string[] num = Console.ReadLine().Split();
            int x = int.Parse(num[0]);
            int y = int.Parse(num[1]);
            long step = 1;
            for (int i = 0; i < y; i++)
            {
                step *= x;
            }
            Console.WriteLine("{0}", step);


31196. --
Azelka
Azelka
ответить
# Консоль / Алгоритмика / Do-рацикл / 2021-06-26 19:37

Хорошая  задачка. Цикл do сам напрашивается на применение, когда тестируешь маленькие числа. Интересно, что тестирует Робот Шарп - унего 10 тестов?


31196. --
Azelka
Azelka
ответить
# Консоль / Алгоритмика / Вечность / 2021-06-24 18:07

что-то подобное раньше приходилось делать, так что, проблем не возникло
  int mes = int.Parse(Console.ReadLine());
            string poraGoda = "";
            switch (mes)
            {
                case 1:
                case 2: poraGoda = "der Winter"; break;
                case 3:
                case 4:
                case 5: poraGoda = "der Fruhling"; break;
                case 6:
                case 7:
                case 8: poraGoda = "der Sommer"; break;
                case 9:
                case 10:
                case 11: poraGoda = "der Herbst"; break;
                case 12: poraGoda = "der Winter"; break;

                default:
                    break;
            }
            Console.WriteLine("{0}", poraGoda);


31196. --
Azelka
Azelka
ответить
# Консоль / Java - Запуск / Скобки / 2021-06-24 16:47

какая каверзная задача, не получается скорость набрать, не думал , что так сложно будет


31196. --
Azelka
Azelka
ответить
→  Николай Денисов   / 2021-06-23 17:27

Привет! Изначально я положил папку с картинками к ехе файлу , но VS2019 не видит этой папки, а я не знаю как прописать, пробовал через
ресурсы , опять столкнулся маленьким багажом знаний. хотел прописывать полный путь через директорию, но это не отвечало условию урока,
и прописать полный путь остался единственным решением. Задумка программы интересная и я вернусь к  ней , просто в ней что-то не хватает.


9014. --
Николай Денисов
Николай Денисов
ответить
→  Azelka  # Демо софт / Двенадцать месяцев / 2021-06-23 08:31

Ну да полный путь прописывать сложновато, но зачем так издеватся? Надо было засунуть картинки в папку с исполняемым exe фаилом или положить картинки в ресурсы.  Полный путь к картинкам непозволит заустиьт программу на другом компютере, так что программа не уневирсальная. Требуется доработка.
Вцелом всё отлично, молодец отличная работа !!!


31196. --
Azelka
Azelka
ответить
# Консоль / Алгоритмика / Условный оператор / 2021-06-22 18:16

Интерсная задача . Немного напутал с длиной массива, понял ошибку и всё встало на свои места
          string a = Console.ReadLine();
            string b = Console.ReadLine();

            char aN = a[a.Length - 1];
            char bN = b[b.Length - 1];
            if (aN == bN)
            {
                Console.WriteLine("YES");
            }
            else
            {
                Console.WriteLine("NO");
            }


31196. --
Azelka
Azelka
ответить
# Консоль / Алгоритмика / Типы данных / 2021-06-21 20:42

Хорошая задачка! Семь потов сошло, пока понял, что точка(запятая) тоже считается знакоместом. Надо будет хорошенько разобрать в этом.
            double n = double.Parse(Console.ReadLine());
            Console.WriteLine("{0:0.00000}", n);
            Console.WriteLine("{0:000.00000}", n);
            Console.WriteLine("{0,9:0.00000}", n);


31196. --
Azelka
Azelka
ответить
# Консоль / Строки / Length / 2021-06-21 19:22

Не очень сложная задача, главное акуратно написать.


9014. --
Николай Денисов
Николай Денисов
ответить
→  Azelka  # Начало здесь / День №3. Безошибочное владение Клавиатурой. / 2021-06-20 11:04

Молодец, отличный результат!!! Так держать и результаны будут переходить в опыт программирования.  Занимаясь активным изучением программирования, незаметиш как станиш отличным и востребованным программистом.
Удачи, у тебя уже все получается !!!


31196. --
Azelka
Azelka
ответить
→  Всеволод   # Демо софт / Двенадцать месяцев / 2021-06-20 10:41

Ты хорошо справился с программой, молодец! У меня возникли такие же трудности, при написании этой программы. Спасибо за подсказку. Хотелось бы в новой версии написать эту программу. Штурмуй следующие ступени программирования!


9014. --
Николай Денисов
Николай Денисов
ответить
→  Azelka  # Начало здесь / День №2. Общение с Единомышленниками. / 2021-06-20 07:32

Молодец всегда спрашивай не стесняйся!!! Конкретно описывай свою проблему, чтобы тебе моги помочь.
Двигайся к своей цели не отступай и всеё у тебя получится .


31196. --
Azelka
Azelka
ответить
# Консоль / Олимпиада / Открытка в конверте / 2021-06-19 21:41

интерсная задачка
            string[] otkr = Console.ReadLine().Split();
            string[] pismo = Console.ReadLine().Split();
            int a, b, c, d;
            int.TryParse(otkr[0], out a);
            int.TryParse(otkr[1], out b);
            int.TryParse(pismo[0], out c);
            int.TryParse(pismo[1], out d);
            if (a < b)
            {
                int t = a;
                a = b;
                b = t;
            }
            if (c < d)
            {
                int t = c;
                c = d;
                d = t;
            }
            Console.WriteLine((c >= a & d >= b || d >= a) ? "True" : "False");
            Console.ReadLine();


31196. --
Azelka
Azelka
ответить
# Консоль / 011. Циклы / Делитель Макса / 2021-06-19 16:43

Странное отношение робота шарпа к тестам программы. Если использовать программу из видео-решения, где пользователь вводит число 1,
то результат будет 0, что неверно, а робот шарп оценивает 100%. Изменил программу вот так:
            ulong n = ulong.Parse(Console.ReadLine());
            ulong t;
            for ( t = n/2 ; t >= 0 ; t--)
            {
                if (n == 1)
                {
                    t = 1; break;}
                else if (n % t == 0) break;
            }
            Console.WriteLine(t);
чтобы, на ввод пользователя выводился результат 1. В итоге робот шарп ставит 100% , странно... Прихожу к выводу, что важное, в этой программе, правильно использовать оператор break.


31196. --
Azelka
Azelka
ответить
# Консоль / 010. Условия / Неделька / 2021-06-18 22:32

Не сложное задание
          int num = int.Parse(Console.ReadLine());
            switch (num)
            {
                case 1: Console.WriteLine("понедельник"); break;
                case 2: Console.WriteLine("вторник"); break;
                case 3: Console.WriteLine("среда"); break;
                case 4: Console.WriteLine("четверг"); break;
                case 5: Console.WriteLine("пятница"); break;
                case 6: Console.WriteLine("суббота"); break;
                case 7: Console.WriteLine("воскресенье"); break;
                default:
                    break;
            }


31196. --
Azelka
Azelka
ответить
# Консоль / 010. Условия / Минимальное расстояние / 2021-06-17 21:41

string[] num = Console.ReadLine().Split();
            long a = long.Parse(num[0]) - long.Parse(num[1]);
            a = (a>0)? a: -a;
            long b = long.Parse(num[1]) - long.Parse(num[2]);
            b = (b > 0) ? b : -b;
            long c = long.Parse(num[2]) - long.Parse(num[3]);
            c = (c > 0) ? c : -c;
            long d = long.Parse(num[3]) - long.Parse(num[0]);
            d = (d > 0) ? d : -d;
            long min = a;
            if (min > b ) min = b ;
            if (min > c ) min = c;
            if (min > d ) min = d;
            Console.WriteLine(min);


31196. --
Azelka
Azelka
ответить
→  Харитонов Данил  # Начало здесь / День №1. Создание микро-Привычки. / 2021-06-15 17:55

Для создания микро-привычки это хорошо, но чтобы стать программистом этого мало. Пиши программы, решай задачки, изучай программы 
написанные другими людьми. Это будут твоими следующими микро-привычками. Главное - писать программы каждый день, тогда и результат
не заставит себя ждать. И пожелаю тебе удачи!


31196. --
Azelka
Azelka
ответить
# Консоль / 001. Числа / Цифробайты / 2021-06-14 21:54

Интересно, как долго медитирует робот шарп?


31196. --
Azelka
Azelka
ответить
# Консоль / 001. Числа / Чтение / 2021-06-14 18:43

Так получилось)
  {
            long num1 = Convert.ToInt64(Console.ReadLine());
            long num2 = long.Parse(Console.ReadLine());
            long num3;
            long.TryParse(Console.ReadLine(), out num3);
            Console.WriteLine("{0} {1} {2}", num1 + 1, num2 + 1, num3 + 1); 
    }


31196. --
Azelka
Azelka
ответить
→  Tim  # Консоль / Целые числа / Пять чисел / 2021-06-13 18:55

По условию: нужно сложить 5 целых чисел, а цикл foreach перебирает все числа. Лучше использовать for , с пятью циклами
            string[] num = Console.ReadLine().Split();
            long sum = 0;
            for (int i = 0; i < 5; i++)
            {
                sum += Convert.ToInt64(num[i]);
            }
            Console.WriteLine(sum);


31196. --
Azelka
Azelka
ответить
# Консоль / 000. Строки / Пробелы / 2021-06-13 13:58

Задание очень простое, но !!! 3 ошибки !!!
Читайте внимательно условие задания!!!
            string text = Console.ReadLine();
            string tx = text.Trim('[', ']');
            string strStart = tx.TrimStart();
            string strEnd = tx.TrimEnd();
            string str = tx.Trim();


            Console.WriteLine('[' + strStart + ']');
            Console.WriteLine('[' + strEnd + ']');
            Console.WriteLine('[' + str +']');


31196. --
Azelka
Azelka
ответить
# Консоль / Семантика / Китайская стена / 2021-06-11 22:08

Не знал, подсмотрел(


  • Звание: Алгоритмист
  • Накопленный опыт: 146 часов
  • Собранный капитал: нет

Клуб формулистов

Правила клуба формулистов

У каждого формулиста есть задача минимум на каждый день:
+ зайти на сайт, проверить один отчёт, получить 1 байт.
Задача максимум - выполнить все остальные ежедневные задачи.
Нажмите здесь чтобы перейти к ежедневному чек-листу.

В 24:00 МСК накопленные за сутки байты переносятся в недельный актив.
В воскресение 24:00 МСК все накопленные байты переходят на баланс формулиста.

Собранные байты можно обменивать на доступные видеокурсы (1 байт = 1 рубль, без скидок)
Приобретённые за байты видеокурсы доступны только во время нахождения в автобусе/клубе формулистов!

При завершении подписки в автобусе/клубе формулистов все накопленные байты обнуляются, а доступ к видеокурсам, приобретённым за байты, закрывается.
Продлевайте подписку заблаговременно.

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Отличный урок. Я только что начал изучать Class-ы и вот получил наглядный пример их применения, с переменными , конструктором , функциями и методами. Придётся, не раз, вернуться к этой программе , что бы понять хорошо классы. Узнал как подключить Media Player, как работать с файлами различных расширений. Возник вопрос про абстрактные классы: что это? Как работают? Спасибо за урок!
Трудности: Во-первых, сложно было "переварить" Class-ы, вроде понял. Во-вторых, исправлять ошибки и свои и Евгения Витольдовича.



Научился: Это уже не первый урок - многое уже понятно без объяснения. Узнал новую структуру DateTime.Now.Ticks с методами. Игрушка для бездельников :)