Си шарп с нуля

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

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

Grigory
  • Звание: Рекурсист
  • Накопленный опыт: 155 часов
  • Баланс Мегахешей: собрано 0 Mh, потрачено 0 Mh
  • Баланс Байтов: нет
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2021-08-29 22:13:16
  • Возраст: 42 года

Видеокурсы

Дата активности Видеокурс Прогресс
2021-05-28 soft3 Теория ООП 13 из 39 34 %
2021-05-14 soft0 Демо софт все 8 115 %
2021-05-13 soft1 Нанософт 8 из 10 80 %
2021-04-22 platformer Платформер на Unity все 12 %
2021-04-13 viri Без конкуренции 3 из 14 22 %
2021-03-21 game0 Демо игры 8 из 10 80 %
2021-03-17 start Начало здесь 1 из 9 %
Итого: 53 из 102 52 %

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

Дата активности Консольный раздел Прогресс
2021-06-05 task1 Календарь 3 из 16 19 %
2021-06-03 task1 Цифры 11 из 12 92 %
2021-05-28 task1 Целые задачи все 11 100 %
2021-05-24 olimp Олимпиада 2 из 40 5 %
2021-05-18 task1 Геометрия все 8 100 %
2021-04-22 task1 Символы все 5 100 %
2021-04-18 task1 Формулы все 9 100 %
2021-04-13 task1 Лирика 12 из 14 86 %
2021-04-04 task1 Строки все 14 100 %
2021-03-31 solo Java - Вывод данных 1 из 7 15 %
2021-03-25 task1 Целые числа все 7 100 %
2021-03-23 book 001. Числа 6 из 8 75 %
2021-03-20 task1 Семантика все 6 100 %
2021-03-18 book 000. Строки все 8 100 %
Итого: 103 из 165 63 %
Сохранить страницу:

30430. --
Grigory
Grigory
ответить
# Консоль / Календарь / Первый и последний день / 2021-06-05 10:41

Console.WriteLine(DateTime.MinValue.ToString(CultureInfo.CreateSpecificCulture("Lv")));
            Console.WriteLine(DateTime.MaxValue.ToString(CultureInfo.CreateSpecificCulture("Lv")));


30430. --
Grigory
Grigory
ответить
# Консоль / Цифры / Чётность цифр / 2021-06-03 19:31

int y = int.Parse(Console.ReadLine());
            y = Math.Abs(y);
            int result = 0;
            while(y > 1)
            {
              result += (y % 10) % 2 == 0 ? 1: -1;
              y = y / 10;

            }
            if (result > 0) result = 2;
            else if (result < 0) result = 1;
            else result = 0;
            Console.WriteLine(result);


30430. --
Grigory
Grigory
ответить
# Консоль / Цифры / Любовь к цифрам / 2021-06-03 18:51

long x = long.Parse(Console.ReadLine());
            while(x>9)
            {
                x = x / 10 + x % 10;
            }
            Console.WriteLine(x);


30430. --
Grigory
Grigory
ответить
# Консоль / Цифры / Счастливый билет / 2021-06-02 17:20

int x = int.Parse(Console.ReadLine());
            int[] digits = new int[6];
            for (int i = 5; i >= 0; i-- )
            {
               
                digits[i] = x % 10;
                x /= 10;
            }
            if (digits[0] + digits[1] + digits[2] == digits[3] + digits[4] + digits[5])
                Console.WriteLine("Happy");
            else
                Console.WriteLine("Regular");


30430. --
Grigory
Grigory
ответить
# Консоль / Цифры / Крайние / 2021-05-31 14:16

int x = int.Parse(Console.ReadLine());
            int res = (x % 10) * 1000 + ((x/10)%100)*10 +x/1000;
            Console.WriteLine(res);


30430. --
Grigory
Grigory
ответить
# Консоль / Цифры / Сердцевина / 2021-05-31 14:10

int x = int.Parse(Console.ReadLine());
            int result = (x / 1000) * 100 + (x % 100);
            Console.WriteLine(result);


30430. --
Grigory
Grigory
ответить
# Консоль / Цифры / Перевертыш / 2021-05-28 13:11

int a = Convert.ToInt32(Console.ReadLine());
            int result = 0;
            for (int i=0; i < 4;  i++  )
            {
                result *= 10;
                result = (result + (a % 10));
                a /= 10;   
            }
            Console.WriteLine(result);


30430. --
Grigory
Grigory
ответить
# Консоль / Целые задачи / Стрелки часов / 2021-05-28 12:42

Арфы нет,  возьмите бубен
string[] str = Console.ReadLine().Split();

            double hrs = int.Parse(str[0]);
            double mn = int.Parse(str[1]);

            double euler = Math.Abs(360 - ((hrs * 30 + mn / 2) - mn * 6));
            while (Math.Abs(euler) > 360)
            {
                euler = Math.Abs(euler) - 360;
            }
            double result = Math.Min(euler, 360 - euler);

            Console.WriteLine("{0:0.0}", result);


30430. --
Grigory
Grigory
ответить
# Консоль / Целые задачи / Арифметика 2 / 2021-05-25 16:58

Шарп  -  Дзен  буддист какой-то.  опять медитирует


30430. --
Grigory
Grigory
ответить
# Консоль / Олимпиада / Случайная задача / 2021-05-24 18:33

То что работало в VS 19 не работает здесь и наоборот))


30430. --
Grigory
Grigory
ответить
# Консоль / Целые задачи / Вторая дробная / 2021-05-24 17:26

string[] a =Console.ReadLine().Split(".");
            int x = int.Parse(a[1].Substring(1, 1));           
            Console.WriteLine(x);
не смог откомпилировать


30430. --
Grigory
Grigory
ответить
# Консоль / Целые задачи / Площадь / 2021-05-22 20:04

string[] a =Console.ReadLine().Split();
            double s = double.Parse(a[0]) * double.Parse(a[1])/2;
            s = Math.Abs(s);           
            Console.WriteLine("{0:0.00}",s);


30430. --
Grigory
Grigory
ответить
# Консоль / Целые задачи / Периметр / 2021-05-21 16:03

string[] a =Console.ReadLine().Split();
            string[] b = Console.ReadLine().Split();
            string[] c = Console.ReadLine().Split();

            double ab = Math.Sqrt(
                (double.Parse(a[0]) - double.Parse(b[0])) *
                (double.Parse(a[0]) - double.Parse(b[0])) +(double.Parse(a[1]) - double.Parse(b[1]))
                * (double.Parse(a[1]) - double.Parse(b[1]))
                );

            double bc = Math.Sqrt(
                (double.Parse(b[0]) - double.Parse(c[0])) *
                (double.Parse(b[0]) - double.Parse(c[0])) + (double.Parse(b[1]) - double.Parse(c[1]))
                * (double.Parse(b[1]) - double.Parse(c[1]))
                );

            double ca = Math.Sqrt(
                (double.Parse(c[0]) - double.Parse(a[0])) *
                (double.Parse(c[0]) - double.Parse(a[0])) + (double.Parse(c[1]) - double.Parse(a[1]))
                * (double.Parse(c[1]) - double.Parse(a[1]))
                );


            double p = ab + bc + ca;
           
            Console.WriteLine("{0:0.00}",p);


30430. --
Grigory
Grigory
ответить
# Консоль / Целые задачи / N уроков / 2021-05-21 15:41

int ls = int.Parse(Console.ReadLine());
            int houres, min;
            if (ls > 0)
            {
                houres = 8 + (((45 + 10) * ls) - 10) / 60;
                min = (((45 + 10) * ls) - 10) % 60;
                int x = houres / 24;
                if (x >= 1)
                {
                    houres = houres - (24 * x);
                }
            }
            else
            {
                houres = 8;
                min = 0;
            }           
            Console.WriteLine("{0:00}:{1:00}", houres, min);


30533. --
Никита
Никита
ответить
→  Grigory  # Теория ООП / Расстояние между пикселями / 2021-05-21 08:48

Конструкция this/base(arg) используется для передачи аргументов конструктору родительского класса.
Вы создаете новый объект класса , который может быть производным от класса , при создании которого используется конструктор с аргументами.
Таким образом Вы через данную конструкцию передаете аргументы конструктору базового класса.
Надеюсь , помог)


30430. --
Grigory
Grigory
ответить

25840. --
Cheshire
Cheshire
ответить
→  Grigory  # Теория ООП / Пиксели для классов / 2021-05-20 11:16

Отличная работа!


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Grigory  # Теория ООП / Пиксели для классов / 2021-05-20 09:14

Отличная работа, Григорий.


30430. --
Grigory
Grigory
ответить
# Консоль / Геометрия / Площадь круга / 2021-05-17 16:04

var a = Console.ReadLine().Split();
            double x1, y1, x2, y2;
            x1 = double.Parse(a[0]);
            y1 = double.Parse(a[1]);
            x2 = double.Parse(a[2]);
            y2 = double.Parse(a[3]);

            Console.WriteLine("{0:f2}",
            ( Math.PI * Math.Sqrt(Math.Pow((x2 - x1),2) + Math.Pow((y2 - y1),2))
            *Math.Sqrt(Math.Pow((x2 - x1), 2) + Math.Pow((y2 - y1), 2))));


30740. --
One
One
ответить
→  Grigory  # Теория ООП / Круглый класс / 2021-05-17 12:21

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


30430. --
Grigory
Grigory
ответить
# Консоль / Геометрия / Прямоугольник / 2021-05-14 15:49

string [] arr=Console.ReadLine().Split();
      int sqr=Math.Abs(int.Parse(arr[3])-int.Parse(arr[1]))*Math.Abs(int.Parse(arr[2])-int.Parse(arr[0]));
      Console.WriteLine(sqr);


30430. --
Grigory
Grigory
ответить
# Консоль / Геометрия / Куб / 2021-05-12 18:27

int a  =  int.Parse(Console.ReadLine());
        Console.WriteLine(Math.Pow(a,2)*4);


30430. --
Grigory
Grigory
ответить
# Консоль / Формулы / Формула 0111 / 2021-04-17 21:02

Ни разу  в  этом разделе  с первого раза не закрыл формулу)


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Grigory   / 2021-04-17 09:34

Подписка в Клуб формулистов обновлена.
Количество дней: +30
Количество байт: +256

Подписка КФ до: 2021-05-26
Остаток байтов: 1128
Вы являетесь участником Клуба формулистов.


30430. --
Grigory
Grigory
ответить
# Консоль / Формулы / Формула 0011 / 2021-04-15 13:41

Хорошо, что самому решать не нужно...


30430. --
Grigory
Grigory
ответить
# Консоль / Формулы / Формула 0001 / 2021-04-14 20:15

Думаю, с  написанием формул у всех проблемы. Очень полезный тренинг


30430. --
Grigory
Grigory
ответить
# Консоль / Лирика / Рулетка * / 2021-04-14 00:38

А почему бы в задании не написать, что числа должны совпасть?


30430. --
Grigory
Grigory
ответить
# Консоль / Лирика / Любимые цифры / 2021-04-13 15:17

int x = int.Parse(Console.ReadLine());
            do {
                int[] array = new int[x.ToString().Length];
                int y = x;
                for (int i = 0; i < array.Length; i++)
                { array[i] = y % 10;
                    y = y / 10; }
                x = array.Sum();
            }while (x > 10);
          Console.WriteLine(x);


30430. --
Grigory
Grigory
ответить
# Консоль / Лирика / Билетики / 2021-04-11 19:23

int a = int.Parse(Console.ReadLine());
            int b = int.Parse(Console.ReadLine());
            int sum = 0;
            while( a != 0 )
            {
                sum += Math.Abs(a % 10 - b % 10);
                a = a / 10;
                b = b / 10;
            }
            Console.WriteLine(sum);


30430. --
Grigory
Grigory
ответить
# Консоль / Лирика / Классики / 2021-04-09 11:51

int x = int.Parse(Console.ReadLine());
            int n = 0;
            while( x != 0 )
            {
                n = n + x % 10;
                x = x / 10;
            }
            Console.WriteLine(n);


30430. --
Grigory
Grigory
ответить
# Консоль / Лирика / Огород / 2021-04-06 01:08

дача 300 соток и километр забора, кого-то это все напоминает мне


30430. --
Grigory
Grigory
ответить
# Консоль / Лирика / Трамвай / 2021-04-05 17:18

int stops = 1 + 1 + 1 + 1 + 1;
            int humans = 10 - 2 + 4 - 8 + 3 + 18;
            int minutes = 10 + 15 + 7 + 30;
            Console.WriteLine(stops);
            Console.WriteLine(humans);
            Console.WriteLine(minutes / 60 + " " + minutes % 60);


30430. --
Grigory
Grigory
ответить
# Консоль / Строки / ToLower/Upper / 2021-03-30 18:08

string str1 = Console.ReadLine().ToLower();
string str2 = Console.ReadLine().ToLower();
Console.WriteLine(str1.Equals(str2));


30430. --
Grigory
Grigory
ответить
→  София  # Демо софт / Английские карточки / 2021-03-23 00:29

Завтра же  приступлю к этому уроку!


30430. --
Grigory
Grigory
ответить
# Консоль / 001. Числа / Чтение / 2021-03-20 13:56

Вчера гражданин Шарп весь день медитировал, сегодня  отказывается компилировать:
            int a = Convert.ToInt32(Console.ReadLine()) +1;
            int b = int.Parse(Console.ReadLine()) + 1;
            int.TryParse(Console.ReadLine(), out int c);
            c++;
            Console.WriteLine(a + " " + b + " " + c);
При этом в vs все  однозначно работает.


30430. --
Grigory
Grigory
ответить
→  Алена  # Шахматы по сети / Интерфейс. Ход делегата / 2021-03-18 14:49

Очевидно, что ход на скриншоте проверку не прошел.


30430. --
Grigory
Grigory
ответить

30430. --
Grigory
Grigory
ответить
# Консоль / 000. Строки / Новое слово / 2021-03-18 11:20

А можно  использовать другие пространства имен,  или необходимо в рамках систем решить?


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Grigory   / 2021-03-17 23:21

Подписка в Клуб формулистов обновлена.
Количество дней: +40
Количество байт: +512

Подписка КФ до: 2021-04-26
Остаток байтов: 512
Вы являетесь участником Клуба формулистов.


30430. --
Grigory
Grigory
ответить
# Консоль / 000. Строки / Эхо / 2021-03-17 22:07

Вынес метод дублирования  в отдельный класс и вызвал его на этом классе с приемом строковой переменной из  ввода,  не прошел  тест)


30430. --
Grigory
Grigory
ответить
→  Евгений Волосатов   / 2021-03-17 20:54

Здравствуйте, отправил оплату.


  • Звание: Рекурсист
  • Накопленный опыт: 155 часов
  • Собранный капитал: нет
  • Участник «Клуба формулистов»: до 2021-05-26

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

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

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

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

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

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

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





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

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

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

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


Научился: Наследование классов - процедура, которая позволяет передать повторяющиеся свойства, конструкторы и методы от одного класса к другому, сохраняя возможность дополнения наследуемого класса уникальными характеристиками.



Научился: Главное отличие структуры от класса, структура является конкретным значением, что позволяет получить к ней доступ напрямую , без ссылок. Это позволяет в ряде случаев ускорить программу, на сколько я понимаю. Сказать что это просто мини-класс явно недостаточно в данном случае.
Трудности: Заставить открыть ГШ и еще раз прочитать про структуры.