Си шарп с нуля

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!

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

Видеокурсы

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

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

Дата активности Консольный раздел Прогресс
2017-02-26 olimp Олимпиада 3 из 40 8 %
2017-02-25 task2 Алгоритмика все 20 100 %
2017-02-23 task1a Целые числа все 7 100 %
2015-08-23 task1b Строки все 14 100 %
2015-08-09 task2t Матрицы 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 Tekashnik 8275 1 1 180
2 Дмитрий 4814 10 10 5 25 95
3 chokayes 9752 5 1 1 7 87
4 vip 9913 10 5 15 85
5 Иван Воронин 10558 80
6 Алексей В. 10494 58
7 Виктор 17606 55
8 zhikharevav 8380 53
9 Bodrik_torf 16066 53
10 Anton 5394 44
11 Владимир 15525 42
12 Pavlin 16496 40
13 Дмитрий 16218 38
14 Dmitry Sinitsin 17947 35
15 Яков 6401 29
16 Timoha 9980 28
17 Gilman 17619 27
18 Григорий 3850 26
19 Андрей 162 25
20 Mastes 18210 25
21 Yefim 11589 23
22 Евгений Волосатов 1 20
23 Андрей Гришагин 17240 20
24 Виталий 16268 18
25 KpucTo6aJlb 13385 16
26 WildOrc 17443 16
27 Андрей Шевченко 16533 2 2 12
28 Михаил 5081 1 1 11
29 Антон Кравченко 5502 1 1 11
30 Николай Миролюбов 6203 11
31 Fayzulloh 18052 11
32 Diserdyuk 17894 10
33 Сергей Сергеевич 459 9
34 Саша 18113 8
35 Валерий Жданов 791 7
36 Neverwinter 2 1901 7
37 MaxeBoom 17666 7
38 Илья 6443 6
39 Андрей 16259 6
40 DbIM 18181 6
41 Кирилл 18200 6
42 Александр 17981 5 5 5
43 Сергей 3747 5
44 Александр 3922 5
45 Денис 4395 5
46 Михаил 4692 5
47 Алекс 8932 5
48 Николай Денисов 9014 5
49 Dimon 9156 5
50 Родион Глушков 11582 5
51 Sergej Šugajev 16017 5
52 Povilas Abramovicius 16089 5
53 Сергей Тирпиц 17608 5
54 Ivan 18207 5
55 Karen Ayvazyan 18225 5
56 Виктор Си 5923 2
57 Serge 16861 2
58 Алексей 6751 1
59 Миша 8929 1
60 Александр 9858 1
61 Rita 10365 1
62 Константин 10822 1
63 ister1kka 14220 1
64 George Spring 18123 1
65 BeaRDragon 18216 1
66 Алмаз 18226 1

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

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

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

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

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

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Трудности: Сделать и загрузить скрин (сначала пытался загрузить в BMP).
Категорически прошу прощения, но я уже установил Visual studio на русском языке (уже давно), и мне он вполне удобен! Начал изучать C#, когда появилось желание создавать свои игры, НО начал я сразу с Unity3d (сейчас даже жалею об этом), и только через несколько месяцев решил изучить сам C#. Моей первой программой был консольный калькулятор с возможностью просто написать весь пример в одной строке (хотя первой программой это назвать сложно, поскольку до этого изучал C# в unity). Последняя моя программа - программа для шифрования файла в картинке (увидел в интернете туториал, очень понравилась идея, решил что-то подобное сделать сам (частично по туториалу, копипастом :D). Хотя самой последней програмой был Biter, но я его не считаю (довольно простая программа, на всякий случай тоже заскриню)... Курс решил пройти, поскольку C# я изучал "рывками" (как на видео говорили).
Научился: Узнал о SoundPlayer, научился создавать новые классы в Visual studio.
Программу сделал по проще, статический класс использую только для хранения переменных...