Си шарп с нуля

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

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

Даниил
  • Звание: Гаммациклоп
  • Накопленный опыт: 66 часов
  • Баланс Мегахешей: собрано 0 Mh, потрачено 0 Mh
  • Баланс Байтов: нет
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2017-11-25 11:27:28
  • Возраст: 23 года

Видеокурсы

Дата активности Видеокурс Прогресс
2017-02-28 soft0 Демо софт 2 из 8 29 %
2015-12-12 soft1 Нанософт 1 из 10 10 %
2015-08-24 game0 Демо игры 8 из 10 80 %
2015-08-24 game1 Нано-игры 5 из 9 50 %
Итого: 16 из 37 44 %

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

Дата активности Консольный раздел Прогресс
2017-02-26 olimp Олимпиада 3 из 40 8 %
2017-02-25 task2 Алгоритмика все 20 100 %
2017-02-23 task1 Целые числа все 7 100 %
2015-08-23 task1 Строки все 14 100 %
2015-08-09 task2 Матрицы 1 из 4 25 %
2015-08-06 task1 Семантика все 6 100 %
Итого: 51 из 91 57 %
Сохранить страницу:

10558. --
Иван Воронин
Иван Воронин
ответить
→  Даниил  # Демо софт / Двенадцать месяцев / 2017-03-01 08:55

Иконки рисовать надо уметь. Это ещё цветочки =)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Даниил  # Демо софт / Двенадцать месяцев / 2017-02-28 13:56

Молодец, Даниил, классно получилось :)


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Регулярные выражения / 2017-02-25 11:50

Вообще понятия не имею, что это за регулярные выражения, поэтому решил выкрутиться...
Regex r = new Regex("Ну нафиг");
Console.WriteLine(Console.ReadLine().Contains(Console.ReadLine()));
А восьмой и девятый тест вообще условию не соответствуют...


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Матрицы / 2017-02-25 11:40

Вообще не знал, что такое матрица и её диагональ (в смысле, догадывался, но точно не знал), но, посмотрев видео, успешно усовершенствовал программу:
        int n = int.Parse(Console.ReadLine());
        double Max = double.MinValue;
        for(int i = 0; i < n; i++) {
            double[] c = Console.ReadLine().Split(' ').ToList().ConvertAll((a) => double.Parse(a)).ToArray();
            for(int j = i; j < n; j++) {
                if(c[j] > Max) Max = c[j];
            }
        }
        Console.WriteLine(Max.ToString("0.0000"));
P.S А разве в первом тесте число 7 находится не НА главной диагонали?


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Строки / 2017-02-25 11:23

Тут даже переменная не нужна...
Console.WriteLine(Console.ReadLine().Replace(".", "..."));


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Подпрограммы / 2017-02-25 11:16

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


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Простые массивы. / 2017-02-25 11:00

По сути, эту задачу можно решить и без количества элементов в начале, всего в одну строку:
Console.WriteLine(Console.ReadLine().Split(' ').ToList().ConvertAll((a) => int.Parse(a)).Count((a) => a == 0));
Но мне пришлось добавить ещё пару строк, что-бы подошло к непонятно зачем добавленным другим условиям...


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Любимые циклы / 2017-02-24 14:15

static void Main() {
        Console.WriteLine(Find(long.Parse(Console.ReadLine())).ToString("0.00000"));
    }

    static double Find(double N) {
        return N == 2 ? 2 : N + (1 / (Find(N - 1)));
    }


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Математика / 2017-02-24 13:59

Поначалу прифигел немного, но, как только досмотрел видео до того момента, когда он начал рисовать, быстро понял, остановил видео (на 1:28), и сразу решил... Задачка, по сути, лёгкая...
    static void Main() {
        Console.WriteLine(FindSQRT(long.Parse(Console.ReadLine())).ToString("0.00000"));
    }

    static double FindSQRT(double N) {
        if(N == 1) return 1;
        else return Math.Sqrt(N + FindSQRT(N - 1));
    }


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Последовательность / 2017-02-24 13:48

List<double> l = new List<double>(), r = new List<double>();
        double d;
        while(true) {
            if(double.TryParse(Console.ReadLine(), out d)) {
                l.Add(d);
                r.Add(l.Sum() / l.Count);
            }
            else break;
        }
        foreach(Double c in r) {
            Console.WriteLine(c);
        }


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Точка и плоскость / 2017-02-24 13:18

То самое чувство, когда плохо помнишь геометрию, но решил с первого раза... :D
        string[] s = Console.ReadLine().Split(' ');
        double x = double.Parse(s[0]), y = double.Parse(s[1]);
        bool result = true;
        if(y < 0 || y > 2 || x < -2 || x > 2 || (x > 0 && Math.Sqrt(x*x + y*y) > 2)) result = false;
        Console.WriteLine(result ? "YES" : "NO");


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / For-то-чки / 2017-02-24 12:24

Запрещаете использовать do... while, хотя сами его используете... Зачем? Ну да ладно, тут ещё можно понять, что вы пытаетесь научить нас использовать разные циклы...


6649. --
Даниил
Даниил
ответить
# Консоль / Алгоритмика / Условный оператор / 2017-02-24 12:09

Вот вечно вы всякие ненужные условия ставите... Вот зачем вам if? Чем вас не устроило
Console.WriteLine((Console.ReadLine().EndsWith(Console.ReadLine().Last().ToString())) ? "YES" : "NO"); ?


6649. --
Даниил
Даниил
ответить
# Консоль / Целые числа / Пирамида / 2017-02-23 18:00

Вот нафига вам Length? Чем вас Last() не устроило?
long a = long.Parse(Console.ReadLine().Split(' ').Last());
long b = long.Parse(Console.ReadLine().Split(' ').Last());
long c = long.Parse(Console.ReadLine().Split(' ').Last());
long d = long.Parse(Console.ReadLine().Split(' ').Last());
long e = long.Parse(Console.ReadLine().Split(' ').Last());
Console.WriteLine("" + a + " " + b + " " + c + " " + d + " " + e);
Console.WriteLine(a + b + c + d + e);
А из-за этого условия пришлось ещё в конец добавлять int F = "Зачем вам, блин, Length?".Length;


6649. --
Даниил
Даниил
ответить
# Консоль / Целые числа / Пять чисел / 2017-02-23 17:30

Эх вы... Я ведь написал программу лучше, способную складывать любое количество чисел, а вы... Вот что вам конкретно надо было в 4-м тесте?
P.S: а вам слабо в одну строчку (не считая необходимых):
//www.VideoSharp.info/Консоль/Целые числа/Пять чисел
using System;
using System.Linq;
class VideoSharp
{
    static void Main()
    {
        Console.WriteLine(Console.ReadLine().Split(' ').ToList().ConvertAll((a) => long.Parse(a)).Sum());
    }
}


8. --
Василевская Елена
Василевская Елена
ответить
→  Даниил  # Прикладные / Твоё портфолио / 2015-12-13 15:30

Даниил, хорошая идея. Молодец!:)


2146. --
Иван
Иван
ответить
→  Даниил  # Прикладные / Твоё портфолио / 2015-12-13 01:40

Здорово. Но тогда там будут хранится только exe файлы. А так можно еще попрактиковаться внедрять один проект в другой.


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Прикладные / Твоё портфолио / 2015-12-12 23:59

Даниил, вот это подход программиста, Молодчина! :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Даниил  # Прикладные / Твоё портфолио / 2015-12-12 16:17

Классно!


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Устный счёт / 2015-08-24 16:33

Даниил, это ж превосходно, очень замечательно все у тебя! :)


2146. --
Иван
Иван
ответить
→  Даниил  # Наноигры / Бот для Цифр / 2015-08-24 15:51

Здорово, что получается реализовывать свои идеи. Как раз в этом случае прокачка навыков утраивается .


6271. --
Olly
Olly
ответить
→  Даниил  # Наноигры / Бот для Цифр / 2015-08-24 15:00

Отличные идеи! Уверенна, что дальнейшие программы будешь писать с большим интересом!


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Игра Цифры / 2015-08-24 13:10

Даниил, разрешай, это ж твой шедевр! И иконочку можно поменять на оригинальный! Я рада твоим новым знаниям! Класс!


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Даниил  # Наноигры / Игра Цифры / 2015-08-24 12:13

Сделай так, как свитаешь нужным.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Даниил  # Наноигры / Устный счёт / 2015-08-24 09:56

Отличнейшая работа, Даниил, МОЛОДЕЦ!
Очень рад, что ты сам справляешься с этими задачами.


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Скорость реакции. Алгоритм и рекорд / 2015-08-23 23:07

Даниил, хорошо что уже сам пишешь, я очень рада твоим достижениям! :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Даниил  # Наноигры / Скорость реакции. Алгоритм и рекорд / 2015-08-23 21:37

Здорово, что стараешься сам писать.


6649. --
Даниил
Даниил
ответить
# Наноигры / Скорость реакции. Алгоритм и рекорд / 2015-08-23 20:36

Супер, < summary > и < param > в тексте стали невидимыми, это какие-то особые теги?


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Скорость реакции. Три картинки по таймеру / 2015-08-23 18:57

Данила, отлично поработал! Молодец! :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить

24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Скорость реакции. Блок-схема / 2015-08-19 18:52

Даниил, твоя схема не очень понятна, хотя уверена что ты в ней здорово разбираешься и понимаешь что у тебя к чему!
А вот фотошопом делать блок-схему действительно думаю утомительно будет, он в принципе не для этого предназначен, блок-схему проще нарисовать там где ты хорошо можешь пользоваться, да хоть на листке бумаге, ни кто ж не требует определенных программ, так что в будущем выбирай для себя более быстрые и комфортные условия! Тут на днях ребята посоветовали онлай-ресурс для составления различных схем www.draw.io я опробовала мне понравился он! :)


6452. --
Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Даниил  # Наноигры / Скорость реакции. Блок-схема / 2015-08-19 18:44

Немножко субурная блок схема! Постарайся писать более четче, тогда и программу в будущем тебе будет легче писать!


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Полуфинальный урок. Отзыв о видеокурсе / 2015-08-09 15:07

Даниил, очень рада что у тебя все здорово получается и ты доволен своими результатами, это радует! Молодец! :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Даниил  # Наноигры / Полуфинальный урок. Отзыв о видеокурсе / 2015-08-09 09:07

Спасибо, Даниил.
Имя и фотография нужны для публикации отзывов.
Чтобы было видно, кто его опубликовал, что это реальные люди,.


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Камень ножницы бумага / 2015-08-08 15:28

Даниил, отличные навыки приобрел и замечательно что добавил и прокачал ранее полученные знания! :)


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Бот для Быстрощёлка / 2015-08-07 16:47

Даниил, Молодец!


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Игра Быстрощёлк / 2015-08-07 15:51

Даниил, замечательно что сделал свою программу лучше! :)


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Лабиринт 2D - игра / 2015-08-07 11:25

Даниил, замечательно что сделал и второй уровень, это хорошая тренировка и закрепление полученных знаний! Молодец! :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Даниил  # Наноигры / Лабиринт 2D - игра / 2015-08-07 10:42

Ну вот, другое дело, Даниил.
МО-ЛО-ДЕЦ!


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Даниил  # Наноигры / Лабиринт 2D - игра / 2015-08-07 09:58

Даниил, всё-таки надо сделать второй уровень.
Пусть даже совсем простой.
В этом идея программы.


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Лабиринт 2D - меню / 2015-08-06 17:46

Даниил, хорошее у тебя начало, и отличные навыки приобрел!


24. --
Олюшка
Олюшка
ответить
→  Даниил  # Наноигры / Картинка с секретом / 2015-08-06 13:31

Даниил, замечательно поработал над программой! Молодец! :)


6649. --
Даниил
Даниил
ответить
→  Евгений Волосатов  # Наноигры / Вступительное слово / 2015-08-06 13:14

Спасибо. Приятно видеть, что работы действительно просматриваются. Сейчас буду отчитываться по второму уроку...


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Даниил  # Наноигры / Вступительное слово / 2015-08-06 10:37

Отличная подготовка, Даниил. Категорически поддерживаю :) Если нравится русская версия, пусть она и остаётся.


  • Звание: Гаммациклоп
  • Накопленный опыт: 66 часов
  • Собранный капитал: нет

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

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

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

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

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

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

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





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

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

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

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


Научился: Узнал про панели.
Трудности: Поиск и исправление некоторых багов :).
Я не стал делать невидимые картинки, которые становятся видимыми только при наводке на них мышкой, поскольку считаю, что это просто ненужно, ведь картинка по сути выбирается при клике (по крайней мере я так сделал). Зато я сделал сохранение и загрузку результатов в текстовый файл, при чём для каждой сложности результаты разные... Сохранение происходит автоматом при клике на фигуру, загрузка - при запуске. (просто уже соскучился по работе с файлами (когда работал в unity, часто приходилось что-то сохранять :D)).


Научился: Узнал, как работает Stopwatch, понял, что рандом на самом то деле совсем не рандом... Абсолютно случайно узнал, как дать описания классам, переменным, и методам, понятные IntelliSense (, ).
Трудности: Да, в целом, легко... С рекордами было сложновато...
Сначала посмотрел урок, а затем начал писать сам, так что, скорее всего, код будет отличаться... Ну а результат - тот же....