C# обучение с нуля

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

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

Статистика по сообщениям

  • Отправлено: 3
  • По консольным: 3

35416. --
Саша
Саша
ответить
# Консоль / Экзамен / 111.Потоки / 2022-11-13 23:54

100%
using System;
using System.IO;
class VideoSharp
{
    static void Main()
    {
        Stream str = Console.OpenStandardInput(); //поток
        int count = 0; //счётчик чисел
       
        while (true)
        {
            int x = str.ReadByte(); // каждый байт читаем
            if (x == -1 && count == 0) {Console.WriteLine(); break;} // CTRL Z (конец)
            if (x == -1 && count != 0) {Console.Write("\"\n"); break;} //если у нас до этого было число, 
                                                                                          //то напоследок ещё кавычку
            if (x >= 48 && x <= 57) //этот байт - число
            {
                count++;  // поэтому счётчик чисел увеличиваем
                if(count == 1) Console.Write("\"" + (char)x); //если счётчик стал =1, то кавычку
                else Console.Write((char)x); //если стал уже > 1, то без кавычки
            }
            else // это байт не число
            {
                //если до этого было число, то ставим кавычку и счётчик чисел обнуляем:
                if(count != 0) {Console.Write("\"" + (char)x); count = 0;}
                else Console.Write((char)x); //иначе просто выводим
            }
        }
       
       
    }
}


35416. --
Саша
Саша
ответить
# Консоль / 111. Потоки / Количество / 2022-10-23 21:50

обязательно добавьте  using System.IO;  чтобы класс Stream распознался
вот код полностью:
using System;
using System.IO;
class VideoSharp
{
    static void Main()
    {
        int count = 0;
        Stream str = Console.OpenStandardInput();
        while (true)
    {
            int x = str.ReadByte();
          if (x == -1) break; // CTRL Z
        count ++;
    }
        Console.WriteLine(count);
    }
}


35416. --
Саша
Саша
ответить
# Консоль / 110. Функции / Звезда / 2022-10-22 15:03

static void Main()      //решение проверено
    {
        string[] a = Console.ReadLine().Split();
        string[] b = Console.ReadLine().Split();
        string[] c = Console.ReadLine().Split();
        string[] d = Console.ReadLine().Split();
        string[] e = Console.ReadLine().Split();
       
        //создаём массив из 5 точек (каждая точка мини-массив из 2 координат):       
        string[][] arr = { a, b, c, d, e };
        double sum = 0;             
       
        //в цикле перебираем эти 5 точек (от а до е), вторая вершина(j) будет на 2 больше   
        for (int i = 0, j = 2;    i < 5;    i++, j++)
        {
            sum += Distance(arr[i],  arr[j]); //плюсуем Дистанцию из двух вершин
            if (j == 4) j = -1; //вторую вершину(j) при достижении конца отбрасываем в начало
        }
        Console.WriteLine("{0:f2}", sum);
    }
   
    //нахождение Дистанции у 2 точек (сразу с парсом):   
    static double Distance(string[] a, string[] b)
    {
            double ax = double.Parse(a[0]);
            double ay = double.Parse(a[1]);
            double bx = double.Parse(b[0]);
            double by = double.Parse(b[1]);
            return Math.Sqrt(Math.Pow(Math.Abs(ax - bx), 2) + Math.Pow(Math.Abs(ay - by), 2));
    }

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





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

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

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

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