A1. Целочисленная арифметика. Простейшие задачи

Напишите в комментарии к этой записи консольные приложения для решения этих задач, указав код задачи.
А вот и первое решение от Никиты.
Решены задачи: 1-3,5-9 Не решены: 4.

Задачи

A1.1. Дано расстояние в сантиметрах. Найти число полных метров в нем.
A1.2. Дана масса в килограммах. Найти число полных центнеров в ней.
A1.3. Дана масса в килограммах. Найти число полных тонн в ней.
A1.4. Дано расстояние в метрах. Найти число полных километров в нем.
A1.5. С некоторого момента прошло 234 дня. Сколько полных недель прошло за этот период?
A1.6. С начала суток прошло n секунд. Определить:
а) сколько полных часов прошло с начала суток;
б) сколько полных минут прошло с начала очередного часа;
в) сколько полных секунд прошло с начала очередной минуты.
A1.7. Дан прямоугольник с размерами 543 х 130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него?
A1.8. Дано целое число k (1 ≤ k ≤ 365). Присвоить целочисленной величине n значение 1, 2, …, 6 или 0 в зависимости от того, на какой день недели (понедельник, вторник, …, субботу или воскресенье) приходится k-й день года, в котором 1 января:
а) понедельник;
б) вторник;
в) d-й день недели (если 1 января — понедельник, то d=1, если вторник — d=2, …, если воскресенье — d=7).
A1.9. С начала 2020 года по некоторый день прошло n месяцев и 2 дня. Присвоить целочисленной величине x значение 1, 2, …, 11 или 12 в зависимости от того, каким месяцем (январем, февралем и т.п.) является месяц этого дня. Например, при n=3 значение х равно 4.


NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


Помощь проекту:

Понравилась статья? Поделиться с друзьями:
5 3 голоса
Рейтинг статьи
Подписаться
Уведомить о
101 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

// A1.8.
Дано целое число k (1 ≤ k ≤ 365). Присвоить целочисленной величине n значение 1, 2, …, 6 или 0 в зависимости от того, на какой день недели (понедельник, вторник, …, субботу или воскресенье) приходится k-й день года, в котором 1 января:

// в) d-й день недели (если 1 января — понедельник, то d=1, если вторник — d=2, …, если воскресенье — d=7).

Console.WriteLine(«Введите K-ый день года, от 1 до 365 дня включительно»);
int K = Convert.ToInt32(Console.ReadLine());

int remainder = (Math.Abs(K7)+7)%7;
int n=0;
string day = «»;

switch (remainder)
{
    case 0: n = 1; day = «Понедельник»; break; // Понедельник
    case 1: n = 2; day = «Вторник»; break; // Вторник
    case 2: n = 3; day = «Среда»; break; // Среда
    case 3: n = 4; day = «Четверг»; break; // Четверг
    case 4: n = 5; day = «Пятница»; break; // Пятница
    case 5: n = 6; day = «Суббота»; break; // Суббота
    case 6: n = 0; day = «Воскресенье»; break; // Воскресенье
}
Console.Write($»{K}-ый день года приходиться на {day);

A1.8. Дано целое число k (1 ≤ k ≤ 365). Присвоить целочисленной величине n значение 1, 2, …, 6 или 0 в зависимости от того, на какой день недели (понедельник, вторник, …, субботу или воскресенье) приходится k-й день года, в котором 1 января:
а) понедельник;
б) вторник;
в) d-й день недели (если 1 января — понедельник, то d=1, если вторник — d=2, …, если воскресенье — d=7).

Немного изменил условие задачи. Мне показалось так будет интересней.
Пользователь может сам выбрать месяц, и число, программа выдаст какой будет день недели. Знаю что можно оптимизировать и использовать методы для этого.
но пока я изучаю только массивы

      int[][] yers = new int[12][]; //Ступенчатый массив для реализации разного количества дней в месяце
      int userImput;        //Выбрать день на недели на которое выпало первое января
      int userImputMonth;      //Выбрать месяц 
      int userImputNumber;     //Выбрать число

      for (int i = 0, j = 1; i < 7; i += 2, j += 2) // инициализация месяцев с разным количеством дней
      {
        yers[i] = new int[31];
        yers[j] = new int[30];
      }

      yers[1] = new int[28];             
      yers[11] = new int[31];

      for (int i = 7, j = 8; i < 11; i += 2, j += 2)
      {
        yers[i] = new int[31];
        yers[j] = new int[30];
      }

      Console.WriteLine(«Выберите на какой день выпало первое января:\n1 — Понедельник\n2 — Вторник\n3″ +
        » — Среда\n4 — Четверг\n5 — Пятница\n6 — Суббота\n7 — Воскресение»);
      userImput = int.Parse(Console.ReadLine());

      switch (userImput)      //С помощью switch инициализируем с какого дня пойдёт год
      {
        case 1: userImput = 1; break;
        case 2: userImput = 2; break;
        case 3: userImput = 3; break;
        case 4: userImput = 4; break;
        case 5: userImput = 5; break;
        case 6: userImput = 6; break;
        case 7: userImput = 7; break;
        default: Console.WriteLine(«Не верно введена команда»); break;
      }          

      for (int i = 0, j, n = userImput — 1; i < yers.Length; i++) // Инициализируем от 1 до 7.
1 — Понедельник и т.д.
      {                               // Намучился с этим циклом.
                                     // Точно есть метод для такого
        j = 0; действия но я его пока не знаю(
        for (; j < yers[i].Length; j++, n++)
        {
          if (n <= 6)
            yers[i][j] += n + 1;
          else
          {
            n = -1;
            j—;
          }
          if (j == yers[i].Length)
            break;
        }
      }

      Console.WriteLine(«Выберете месяц в котором хотите узнать день недели:\n1 — январь\n2 — февраль\n3 — март\n4 — апрель\n5 — май» +
        «\n6 — июнь\n7 — июль\n8 — август\n9 — сентябрь\n10 — октябрь\n11 — ноябрь\n12 — декабрь»);
      userImputMonth = int.Parse(Console.ReadLine());
       
      switch (userImputMonth)
      {
        case 1: userImputMonth = 0; break;
        case 2: userImputMonth = 1; break;
        case 3: userImputMonth = 2; break;
        case 4: userImputMonth = 3; break;
        case 5: userImputMonth = 4; break;
        case 6: userImputMonth = 5; break;
        case 7: userImputMonth = 6; break;
        case 8: userImputMonth = 7; break;
        case 9: userImputMonth = 8; break;
        case 10: userImputMonth = 9; break;
        case 11: userImputMonth = 10; break;
        case 12: userImputMonth = 11; break;
        default: Console.WriteLine(«Не верно введена команда»); break;

      }

      Console.WriteLine(«Выберите число:»);
      userImputNumber = int.Parse(Console.ReadLine());
       
      switch (yers[userImputMonth][userImputNumber — 1])
      {
        case 1: Console.WriteLine(userImputNumber + » — число будет понедельник»); break;
        case 2: Console.WriteLine(userImputNumber + » — число будет вторник»); break;
        case 3: Console.WriteLine(userImputNumber + » — число будет среда»); break;
        case 4: Console.WriteLine(userImputNumber + » — число будет четверг»); break;
        case 5: Console.WriteLine(userImputNumber + » — число будет пятница»); break;
        case 6: Console.WriteLine(userImputNumber + » — число будет суббота»); break;
        case 7: Console.WriteLine(userImputNumber + » — число будет воскресенье»); break;
        default: Console.WriteLine(«Не верно введена команда»); break;

      }

A1.1
double m = 0;
      Console.WriteLine(«cm = «);
      double.TryParse(Console.ReadLine(), out double cm);
      m = cm / 100;
      Console.WriteLine(«метр = » + m);
      Console.ReadLine();

A1.8
static void Main(string[] args)
{
  Console.Write(«Введите первое января любого года, от 1923 года. Формат записи день/месяц/год: «);
  DateTime dateJanuary1 = DateTime.Parse(Console.ReadLine());
Console.Write($»Введите количество прошедших дней от {dateJanuary1.ToString(«dd.MM.yyyy»)}, в диапозоне 1 — 365: «);
int kDays =int.Parse(Console.ReadLine());
January1(dateJanuary1, kDays);
}
static public void January1(DateTime january1, int kDay)
{
  int? n = null; // числа 1, 2, 3, 4, 5, 6, 0 соответствуют дням недели понедельник, вторник,…, суббота, воскресенье.
  int? d = null;// числа от 1 до 7 соответствуют дням недели понедельник, вторник,…, суббота, воскресенье.
  DateTime answer = january1.AddDays(kDay);
  string today = answer.ToString(«dddd»);

  bool kValid = 1 <= kDay && kDay <= 365;

  List<string> daysWeek = new List<string>() {«понедельник», «вторник», «среда», «четверг», «пятница», «суббота», «воскресенье» };

  if (kValid)
  {
    for(int i = 0; i < daysWeek.Count; i++)
    {
      if(january1.ToString(«dddd») == daysWeek[i]) d = i + 1;
      if (today == «воскресенье») n = 0;
      else if (today == daysWeek[i]) n = i + 1;
    }

  }
  Console.WriteLine($»{n} — {answer.ToString(«dddd»)}»);
  Console.WriteLine($»{d} — {january1.ToString(«dddd»)}»);
  Console.WriteLine(answer.ToString(«dd.MM.yyyy»));
}

Последний раз редактировалось 5 месяцев назад MrPhobos ем

//Задача А1.6
       
      Console.WriteLine(«Введите кол-во секунд»);
      int sec = Convert.ToInt32(Console.ReadLine());
      int i = 0;
      int min = 0;
      int hours = 0;
      int seccount = sec;
      while (seccount>0)
      {
        i++;
        if (i%60 == 0) { min++; }
        if (i%3600 == 0) { hours++; }

        seccount—;

      }
         
       
       Console.WriteLine($»Часов прошло: {hours}\n» +
         $»Минут: {min}\n» +
         $»Минут после последнего часа: {min-hours*60}\n» +
         $»Секунд после последней минуты: {sec-min*60}»);

A1.7. Дан прямоугольник с размерами 543 х 130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него?

       int heightBigSquere, widthBigSquere, sideSmallSquere, heightnumberSmallSquere , widthnumberSmallSquere, numberSmallSquere;
 
           while(true)
           {
               Console.WriteLine($»Сколько маленьких квадратов размеры которого заданны пользователем, поместиться в большой прямоугольник так же заданный пользователем»);
 
               Console.Write(«Введите высоту большого прямоугольника: «);
               heightBigSquere = Convert.ToInt32(Console.ReadLine());
 
               Console.Write(«Введите ширину большого прямоугольника: «);
               widthBigSquere = Convert.ToInt32(Console.ReadLine());
 
               Console.Write(«Введите сторону маленького квадрата: «);
               sideSmallSquere = Convert.ToInt32(Console.ReadLine());
 
               if ((heightBigSquere > 0) && (widthBigSquere > 0) && (sideSmallSquere > 0))
               {
                   heightnumberSmallSquere = heightBigSquere / sideSmallSquere;
                   widthnumberSmallSquere = widthBigSquere / sideSmallSquere;
                   numberSmallSquere = heightnumberSmallSquere * widthnumberSmallSquere; // Если хоть одна из переменных будет равна нулю, значит ни одного квадрата нельзя поместить в данный прямоугольник
 
                   if (numberSmallSquere > 0)
                   {
                       Console.WriteLine($»\nВ прямоугольник с размерами {heightBigSquere}x{widthBigSquere}мм можно поместить {numberSmallSquere} квадрата(ов) с размером стороны — {sideSmallSquere}мм»);
                   }
                   else
                   {
                       Console.WriteLine(«\nНи одного квадрата нельзя разместить в заданном прямоугольнике»);
                   }
                   
 
               }
               else
               {
                   Console.WriteLine(«\nОдин или более параметров были заданны не верно!»);
               }
 
 
 
               Console.WriteLine(«\n\tЖелаете продолжить расчеты? \nДа — введите 1 \nНет — нажмите любую клавишу»);
               string answer = Console.ReadLine();
               if (answer == «1»)
               {
                   Console.WriteLine(«———————————————- \n\n»);
               }
               else
               {
                   Console.WriteLine(«———————————————- \n\n»);
                   break;
               }
               
 
           }

A1.8

Console.WriteLine(«which day is it»);

      Console.Write(«Input a day of the week for the January 1 (1 for monday, 7 for sunday): «);
      uint January1 = uint.Parse(Console.ReadLine() ?? «no data»);

      Console.Write(«Input a day to check it’s week day: «);
      uint DayInYear = uint.Parse(Console.ReadLine() ?? «no data»);

      uint FindedWeekDay = (DayInYear — 1 + January1) % 7;

      string[] WeekDays = { «Monday», «Tuesday», «Wednesday», «Thursday», «Friday», «Saturday», «Sunday» };

      Console.WriteLine($»It’s {WeekDays[FindedWeekDay — 1]}»);

0,43×1+1,24×2-0,58×3=2,71

          0,74×1+0,83×2+1,17×3=1,26            1,43×1-1,58×2+0,83×3=1,03

namespace A1._9
{
  class Program
{
    static void Main(string[] args)
{
int n = 3; // number of months passed
int x;
if (n >= 0 && n <= 11) {
  x = n + 1;
} else {
  x = 12;
}
Console.WriteLine(«The value of x is: » + x);

namespace A1._9
{
  class Program
  {
    static void Main(string[] args)
    {
      Console.WriteLine(«Сколько полных месяцев прошло с начала года? «);
      int n = int.Parse(Console.ReadLine());
      if (n > 11)
      {
        Console.WriteLine(«В году только 12 месяцев!»);
      }
      else
      {
        int x = n + 1;

        switch (x)
        {
          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;
          case 8:
            Console.WriteLine(«Текущий месяц август.»);
            break;
          case 9:
            Console.WriteLine(«Текущий месяц сентябрь.»);
            break;
          case 10:
            Console.WriteLine(«Текущий месяц октябрь.»);
            break;
          case 11:
            Console.WriteLine(«Текущий месяц ноябрь.»);
            break;
          case 12:
            Console.WriteLine(«Текущий месяц декабрь.»);
            break;
          default:
            break;
        }
      }
      Console.ReadLine(); 
    }
  }

namespace a1._8
{
  class Program
  {
    static void Main(string[] args)
    {
      int yearDay = 0;
      Console.Write(«Введите k-тый день года: «);
      int k = int.Parse(Console.ReadLine());
      if (k<1 | k > 365)
      {
        Console.WriteLine(«Вы вышли за границы диапазона!»);         
      }
      else
      {
        Console.WriteLine(«Укажите номер дня недели на который пришлось 1-е января в данном году: «);
        int weekDay = int.Parse(Console.ReadLine());
        if (k <= 7)
        {
          yearDay = (k — 1) + weekDay;
          //Console.WriteLine(yearDay);
        }
        else
        {
          yearDay = (k — (8 — weekDay)) % 7;
          //Console.WriteLine(yearDay);
        }
        switch (yearDay)
        {
          case 1:
            Console.WriteLine(«k-тый день года понедельник»);
          break;
          case 2:
            Console.WriteLine(«k-тый день года вторник»);
            break;
          case 3:
            Console.WriteLine(«k-тый день года среда»);
            break;
          case 4:
            Console.WriteLine(«k-тый день года четверг»);
            break;
          case 5:
            Console.WriteLine(«k-тый день года пятница»);
            break;
          case 6:
            Console.WriteLine(«k-тый день года суббота»);
            break;
          case 7:
            Console.WriteLine(«k-тый день года воскресенье»);
            break;
                    
        }
      }
       
      Console.ReadLine();

    }
  }
}

//A1.7. Дан прямоугольник с размерами 543 х 130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него?

int height = 543, width = 130, sideCube= 130;

int xHeight = (int)(width / sideCube);
int yWidth = (int)(height / sideCube);
int total = xHeight * yWidth;

Console.WriteLine($»Squares with a side of {sideCube} mm can be cut from Rectangle with side {height} x {width}, is = {total}»);

Последний раз редактировалось 1 год назад Aleksey ем

Ширина не нужна ни у квадрата ни у треугольника.
double result = 543 % 130;

Квадрата и прямоугольника имела ввиду.

  int s;            
           int a = 543;      
           int b = 130;
           int squadrat;
           int kolichestvo;
           s = a * b;
           Console.WriteLine(«Площадь прямоугольнка равна » + s + » мм в квадрате»);
           squadrat = b * b;
           Console.WriteLine(«площадь квадрата равна » + squadrat + » мм в квадрате»);
           kolichestvo = s / squadrat;
           Console.WriteLine(kolichestvo + » штук — количество квадратов, которое можно отрезать «);

1.1 
double cm, m;
      Console.WriteLine(«cm = «);
      cm = double.Parse(Console.ReadLine());
      m = cm / 100;
      Console.WriteLine(«метр = » + m);

A 1.6

 static int Hours(int second)
        {
             
            return second/3600;
        }


        static int MinPostHour(int second)
        {
           
            return (second - Hours(second)*3600)/60;
        }


        static int SecondPostMin(int second)
        {
            return (second - MinPostHour(second)*60 - Hours(second)*3600);
        }


        static void Main(string[] args)
        {
            Random rnd = new Random();
            for (int i = 0; i < 10; i++)
            {
                int second = rnd.Next(0, 100000);
                Console.WriteLine(second);
                Console.WriteLine("Прошло часов: " + Hours(second) +
                    " минут: " + MinPostHour(second) +
                    " секунд: " + SecondPostMin(second));
                Console.WriteLine();
            }
            


                
        }

      Random random = new Random();
      float cm = random.Next(1, 10000);
      float m = cm / 100;
      Console.WriteLine(Math.Floor(m));

A1.4

using System;


namespace ConsoleApp72
{
    internal class Program
    {
        static void Main(string[] args)
        {      
          Console.WriteLine("Введите число в метрах");
          int a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Результат км: " +a/1000);


        }
    }
}


А1.8

int k, d, n;
Console.Write("Расчет дня недели \nВведите порядковый номер дня: ");
k = int.Parse (Console.ReadLine ());
Console.Write("Введите номер дня недели 1-го января (где Пн - 1,Вт - 2....Вс - 7): ");
d = int.Parse (Console.ReadLine ());
n = (k + (d - 1)) % 7;
string[] days = { "Воскресение", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота" };
    for (int i = 0; i < days.Length; i++)
    {
       if (n == i)
        {
          Console.WriteLine($"Число n = {n}, день недели {k}-го дня - {days[i]} ");
        }
    }

Я пол дня сижу и не могу понять как возникла формула n = (k + d) % 7 — 1;
Решение правильное, но я не могу понять почему! Буду очень благодарен, если напишите логическое разъяснение, почему мы к порядковому номеру дня прибавляем..

Нескромный вопрос: как сработает код, если порядковый номер дня меньше семи? Например, ищем четвертый день года, новый год был в среду?

Console.Write("Пересчет времени по секундам \nВведите количество секунд: ");
int n = int.Parse(Console.ReadLine());
if (n >= 86400)
    {
    n = n % 86400;
    }
int hours = n / 3600;
int seconds_remains = n % 3600;
int minutes = seconds_remains / 60;
int seconds = seconds_remains % 60;
Console.WriteLine("С момента начала суток прошло: \nЧасов - {0},\nМинут - {1}, \nСекунд - {2}",hours,minutes,seconds);

A1.6

Последний раз редактировалось 1 год назад Михаил ем

В 1.9 можно ли использовать следующее решение? С учетом того, что количество дней от начала 2020 года выбирается случайным образом.

DateTime DateYear2020 = new DateTime(2020, 1, 1);

Random random = new Random();
int n = random.Next(1, 11);

DateYear2020 = DateYear2020.AddMonths(n).AddDays(2);

Console.WriteLine($»От начала 2020 года прошло {n} месяцев и 2 дня»);
Console.WriteLine($»Эта дата — {DateYear2020}»);

int x = DateYear2020.Month;
Console.WriteLine($»Искомый месяц это {x}»);

Сделал задачку думаю работает как просили :)
A1.6 С начала суток прошло n секунд. Определить:
а) сколько полных часов прошло с начала суток;
б) сколько полных минут прошло с начала очередного часа;
в) сколько полных секунд прошло с начала очередной минуты.

static void Main(){  
      System.Console.WriteLine("Введите время в секундах: ");
      double n = Convert.ToDouble(Console.ReadLine());
      double hours,mins,seconds = 0;
      if (n > 0 && n <= 86400){
        if(n<=3600){
          hours = n / 3600;
        Math.Ceiling(hours);
          mins = hours * 60;
        Math.Ceiling(mins);
          seconds = mins * 60 ;
        Math.Ceiling(seconds);
          System.Console.WriteLine("Прошло времени с начала дня: " + $"0ч. {mins.ToString("0")}мин. {seconds.ToString("0")}с.");
          }
          else if(n>3600){
          hours = n / 3600;
        Math.Ceiling(hours);
          mins = hours * 60;
        Math.Ceiling(mins);
          seconds = mins * 60 ;
        Math.Ceiling(seconds);
          System.Console.WriteLine("Прошло времени с начала дня: " +$"{hours.ToString("0")}ч. {mins.ToString("0")}мин. {seconds.ToString("0")}с.");
          }  
      }
      else{
        System.Console.WriteLine("Неправильно ввёденое время, повторите попытку ещё раз.");
        hours = 0;
      }  
Последний раз редактировалось 1 год назад Максим ем

A1.9 Как можно сократить?

        static void Main()
        {
            int PastMon;
            Console.WriteLine("Введите предыдущий месяц: \n1-Январь\n2-Февраль\n3-Март\n4-Апрель\n5-Май\n6-Июнь\n7-Июль\n8-Август\n9-Сентябрь\n10-Октябрь\n11-Ноябрь\n12-Декабрь");
            while(!(int.TryParse(Console.ReadLine(),out PastMon)) && PastMon > 0 && PastMon < 13) { Console.WriteLine("Введено неверное значение"); }
            string NowMon = (PastMon + 1) switch
            {
                1 =>"Январь",
                2=>"Февраль",
                3=>"Март",
                4=>"Апрель",
                5=>"Май",
                6=>"Июнь",
                7=>"Июль",
                8=>"Август",
                9=>"Сентябрь",
                10=>"Октябрь",
                11=>"Ноябрь",
                12=>"Декабрь",
                13=>"Январь",
                _=>"",
            };
            Console.WriteLine($"Сейчас {NowMon}");
        }

1.8

 static void Main()
        {
            int [] Days = new int [365];
            int DWeek1J;
            Console.WriteLine("На какой день недели выпадает 1 января этого года?\n1 - Понедельник\n2 - Вторник\n3 - Среда\n4 - Четверг\n5 - Пятница\n6 - Суббота\n7 - Воскресенье");
            while(!(int.TryParse(Console.ReadLine(), out DWeek1J)) && DWeek1J > 0 && DWeek1J < 8) { Console.WriteLine("Введено неверное значение");}
            for (int i = 0, j = DWeek1J;i<Days.Length;i++, j++)
            {
                Days[i] = j;
                if (j == 7) { j = 0; }
            }
            Console.WriteLine("Введите день года по счету:");
            int Day;
            while(!(int.TryParse(Console.ReadLine(),out Day)) && Day > 0 && Day < 366) { Console.WriteLine("Введено неверное значение"); }
            string WDay = Days[Day-1] switch
            {
                1 => "понедельник",
                2 => "вторник",
                3 => "среда",
                4 => "четверг",
                5 => "пятница",
                6 => "суббота",
                7 => "воскресенье",
                _=>"",
            };
            Console.WriteLine($"Это {WDay}");

A1.7 Пытался максимально сократить код.

 static double Input(string name)
        {
            double Num;
            Console.WriteLine($"Введите длину {name}:");
            while (!(double.TryParse(Console.ReadLine(), out Num)) && Num > 0) { Console.WriteLine("Введено неверное значение"); }
            return Num;
        }
        static void Main()
        {
            double A = Input("первой стороны прямоугольника");
            double B = Input("второй стороны прямоугольника");
            double Square = Input("целевого квадрата");
            int CountA = Convert.ToInt32((A - (A % Square)) / Square);
            int CountB = Convert.ToInt32((B - (B % Square)) / Square);
            int Count = CountA * CountB;
            Console.WriteLine($"Из прямоугольника {A} на {B} можно нарезать {Count} квадратов со стороной {Square}");
        }

static void Main (string[] args)
    {      
      double n = System.Math.Floor((543f/130f)); 
      Console.WriteLine(n);      
    }

A1.8. Дано целое число k (1 ≤ k ≤ 365). Присвоить целочисленной величине n значение 1, 2, …, 6 или 0 в зависимости от того, на какой день недели (понедельник, вторник, …, субботу или воскресенье) приходится k-й день года, в котором 1 января:
а) понедельник;
б) вторник;
в) d-й день недели (если 1 января — понедельник, то d=1, если вторник — d=2, …, если воскресенье — d=7).

using System;

namespace ConsoleApp2 { 
  class Program {
    static void Main()
    {
      int k, n, d;
      Console.Write(«День по рахунку зараз — «);
      k = Convert.ToInt32(Console.ReadLine());
      Console.Write(«В який день тижня було 1 сiчня — «);
      d = Convert.ToInt32(Console.ReadLine());
      n = (k + d) % 7 — 1;
      string[] den = {«Нд»,»Пн»,»Вт»,»Ср»,»Чт»,»Пт»,»Сб»};
      for (int i = 0; i < den.Length; i++)
      {
        if (n == i)
        {
          Console.WriteLine(den[i]);
        }
      }
    }
  }
}

//A1.4
      while (true)
      {
        double m, km;
        Console.Write(«Введите количество метров: «);
        m = double.Parse(Console.ReadLine());

        km = m / 100;
        km = Math.Round(km, 1);
        Console.Write(«Количество километров: «);
        Console.WriteLine(km);
      }

// A1.6. С начала суток прошло n секунд. Определить:
//а) сколько полных часов прошло с начала суток;
//б) сколько полных минут прошло с начала очередного часа;
//в) сколько полных секунд прошло с начала очередной минуты.
Console.WriteLine ("cколько секунд прошло от начала суток ");
int time = Convert.ToInt32(Console.ReadLine ());

int chas = time/3600;
 int minut = 3600*chas ;
 int min = time - minut;
 int mi = min/60;
 int cek = time - minut;
 int ce = minn * 60;
 int c = cek - ce;

Console.WriteLine ($"{chas}ч. {mi} мин. {c} c.");
Последний раз редактировалось 2 лет назад Автор ем

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

Важно: Вы можете поддержать проект и автора.

A1.8.

while (true)
{
  Console.WriteLine("Укажи число от 1 до 365 ");
  if (int.TryParse(Console.ReadLine(), out int s) && s >= 1 && s <= 365)
  {
    string[] dayOfWeek = { "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс" };
    int check = s % 7 - 1;
    if (s == 7)
    {
      check = 6;
      Console.WriteLine(dayOfWeek[check]);
      break;
    }
    else
    {

      Console.WriteLine(dayOfWeek[check]);
      break;
    }
  }
  else
  {
    Console.WriteLine("Вы ввели не правильную дату");
  }
}

//немного обновил, а то при 7-ке выдавало ошибку.

Последний раз редактировалось 2 лет назад Serj ем

Serj, направление верное, но немного запутались в алгоритме. Возможно более понятные имена переменных Вам помогут верно решить задачу.

Важно: Вы можете поддержать проект и автора.

A1.1. Дано расстояние в сантиметрах. Найти число полных метров в нем.

Console.WriteLine("Укажите расстояние в сантиметрах ");
while (true)
{
  if (double.TryParse(Console.ReadLine(), out double s) && s > 0)
  {
    double m = s / 100d;
    Console.WriteLine($"число полных метров в {s} см. равно {m} m. ");
    break;
  }
  else
  {
    Console.WriteLine("Вы ввели не правильное число");
  }
}

Serj, все верно. Но подумайте над более понятными именами переменных.

Важно: Вы можете поддержать проект и автора.

A1.6. С начала суток прошло n секунд. Определить:
а) сколько полных часов прошло с начала суток;
б) сколько полных минут прошло с начала очередного часа;
в) сколько полных секунд прошло с начала очередной минуты.

Console.WriteLine(«Количество пройденых секунд «);
var n = int.Parse(Console.ReadLine());

var hours = n / 3600;
var sec_day = n — hours * 3600;
var min = sec_day / 60;
var sec = sec_day — min * 60;

Console.WriteLine(«Прошло «+ hours + » час » + min + » мин » + sec + » сек «);

Console.WriteLine(«#1»);
int cm, m;
Console.WriteLine(«Расстояние в см: «);
cm = Convert.ToInt32(Console.ReadLine());
m = cm / 100;
Console.WriteLine($»В {cm} см {m} метров»);

Console.WriteLine(«#2»);
int kg, c;
Console.Write(«Масса в кг: «);
kg = Convert.ToInt32(Console.ReadLine());
c = kg / 100;
Console.WriteLine($»В {kg} кг {c} центнеров»);

Console.WriteLine(«#3»);
int kg, t;
Console.Write(«Масса в кг: «);
kg = Convert.ToInt32(Console.ReadLine());
t = kg / 1000;
Console.WriteLine($»В {kg} кг {t} тонн»);

Console.WriteLine(«#4»);
int m, km;
Console.Write(«Масса в кг: «);
m = Convert.ToInt32(Console.ReadLine());
km = m / 1000;
Console.WriteLine($»В {m} м {km} км»);

Console.WriteLine(«#5»);
int day = 234, week;
week = day / 7;
Console.WriteLine(«С события прошло {0} полных недель!», week);

Console.WriteLine(«#6»);
int n, h, min, d, s;
Console.Write(«Сколько секунд прошло с начала суток: «);
n = Convert.ToInt32(Console.ReadLine());
h = n / 3600; // полных часов
min = n / 60 — h * 60;
s = n — h * 3600 — min * 60;
Console.WriteLine($»{h} полных часов прошло с начала отсчёта, » +
$»\n{min} полных минут прошло с начала очередного часа, » +
$»\n{s} полных секунд прошло с начала очередной минуты»);

Console.WriteLine(«#7″);
int a = 543, b = 130, a2 = 130, s1, s2, q;
s1 = a * b;
s2 = a2 * a2;
q = s1 / s2;
Console.WriteLine($»{q} полных квадрата можно отрезать»);

Console.WriteLine(«#8»);
int k, n, ch, d;
Console.Write(«Ввдите день: «);
k = Convert.ToInt32(Console.ReadLine());
if (k >= 1 & k = 1 & d = 1 & x <= 12)
{
Console.WriteLine("Прошёл {0}", x — 1);
Console.WriteLine("Cейчас {0}", x);
}
else
{
Console.WriteLine("Не правильно задан месяц!");
}

A1.6. С начала суток прошло n секунд. Определить:
а) сколько полных часов прошло с начала суток;
б) сколько полных минут прошло с начала очередного часа;
в) сколько полных секунд прошло с начала очередной минуты.

Console.WriteLine(«Введите, сколько прошло часов с начала суток (в секундах) : «);
int ItsTimeNumberOne = int.Parse(Console.ReadLine());
int resultNumberOne = ItsTimeNumberOne / 3600;

Console.WriteLine(«Введите, сколько полных минут прошло с начала очередного часа (в секундах) : «);
int ItsTimeNumberTwo = int.Parse(Console.ReadLine());
int resultNumberTwo = ItsTimeNumberTwo / 60;

Console.WriteLine(«Введите, сколько полных cекунд прошло с начала очередной минуты : «);
int ItsTimeNumberThree = int.Parse(Console.ReadLine());

Console.WriteLine(«С начала суток прошло : «);
Console.WriteLine(resultNumberOne + » часов » + resultNumberTwo + » минут » + ItsTimeNumberThree + » секунд»);

A1.8. Дано целое число k (1 ≤ k ≤ 365). Присвоить целочисленной величине n значение 1, 2, …, 6 или 0 в зависимости от того, на какой день недели (понедельник, вторник, …, субботу или воскресенье) приходится k-й день года, в котором 1 января:
а) понедельник;
б) вторник;
в) d-й день недели (если 1 января — понедельник, то d=1, если вторник — d=2, …, если воскресенье — d=7).
program();
static void program()
{
int k, n, d;
Console.WriteLine(«Введите какой сегодня по счету день года:»);
k = Proverka();
Console.WriteLine($»Вы ввели {k} по счету день»);
if (k 366)
{
Console.WriteLine(«Введены неверные значения: количество дней в году не превышает 366 дней.\nПопробуйте еще раз!»);
program();
}
else
{
Console.WriteLine(«Введите с какого дня недели начинается год:\n1 -Понедельник\n2 — Вторник\n3 — Среда\n4 — Четверг\n5 — Пятница\n6 — Суббота\n7 — Воскресенье»);
d = Proverka();
Console.WriteLine($»Вы ввели {d} по счету день недели»);
if (d > 7 && d <= 0)
{
Console.WriteLine("Введены неверные значения: в неделе всего 7 дней недели.\nПопробуйте еще раз!");
program();
}
else
{
n = (k + d) % 7 — 1;
switch (n)
{
case 0:
Console.WriteLine($"{k} день при {d} (воскресенье) дне недели в первый день года соответствует значению 'n' = {n} — Воскресенье");
break;
case 1:
Console.WriteLine($"{k} день при {d} (понедельник) дне недели в первый день года соответствует значению 'n' = {n} — Понедельник");
break;
case 2:
Console.WriteLine($"{k} день при {d} (вторник) дне недели в первый день года соответствует значению 'n' = {n} — Вторник");
break;
case 3:
Console.WriteLine($"{k} день при {d} (среда) дне недели в первый день года соответствует значению 'n' = {n} — Среда");
break;
case 4:
Console.WriteLine($"{k} день при {d} (четверг) дне недели в первый день года соответствует значению 'n' = {n} — Четверг");
break;
case 5:
Console.WriteLine($"{k} день при {d} (пятница) дне недели в первый день года соответствует значению 'n' = {n} — Пятница");
break;
case 6:
Console.WriteLine($"{k} день при {d} (суббота) дне недели в первый день года соответствует значению 'n' = {n} — Суббота");
break;
}
}
}

static int Proverka()
{
string a = Console.ReadLine();
int b;
bool result1 = int.TryParse(a, out b);
if (result1 == true)
{
if (b <= 0)
{
Console.WriteLine($"Значение не может быть отрицательным или нулевым, повторите попытку");
Clean();
program();
}
return b;
}
else
{
Console.WriteLine("Введено неверное значение,введите число, повторите попытку!");
Clean();
program();
}
return b;

}
static void Clean()
{
Console.ReadKey();
Console.Clear();
}

A1.8. Дано целое число k (1 ≤ k ≤ 365). Присвоить целочисленной величине n значение 1, 2, …, 6 или 0 в зависимости от того, на какой день недели (понедельник, вторник, …, субботу или воскресенье) приходится k-й день года, в котором 1 января:
а) понедельник;
б) вторник;
в) d-й день недели (если 1 января — понедельник, то d=1, если вторник — d=2, …, если воскресенье — d=7).
using System;

namespace ЗаданияСР
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(«Введите номер дня недели для первого января (если 1 января — понедельник, то 1, если вторник — 2, …, если воскресенье — 7).»);
uint января1 = uint.Parse(Console.ReadLine());
Console.WriteLine(«Введите номер дня от 1 до 365, день недели которого нужно определить»);
uint DayOfWeek = uint.Parse(Console.ReadLine());
if (DayOfWeek > 365 || DayOfWeek <= 0)
{
Console.WriteLine("Ваше число не входит в диапазон");
}
else
{
uint day = (DayOfWeek + (января1 — 1)) % 7;

if (day == 1)
{
Console.WriteLine("Понедельник");
}
else if (day == 2)
{
Console.WriteLine("Вторник");
}
else if (day == 3)
{
Console.WriteLine("Среда");
}
else if (day == 4)
{
Console.WriteLine("Четверг");
}
else if (day == 5)
{
Console.WriteLine("Пятница");
}
else if (day == 6)
{
Console.WriteLine("Суббота");
}
else if (day == 0)
{
Console.WriteLine("Воскресенье");
}
else
{
Console.WriteLine("Произошел глюк и хз как его чинить");
}
}
}
}
}

A1.7. Дан прямоугольник с размерами 543 х 130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него?

int lenght = int.Parse(Console.ReadLine());
int hight = int.Parse(Console.ReadLine());
int quadrate = int.Parse(Console.ReadLine());
Console.WriteLine("Amount of quadrates: "+ ((lenght*hight)/(quadrate*quadrate)));
Важно: Вы можете поддержать проект и автора.

A1.7. Дан прямоугольник с размерами 543 х 130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него?
Я сделал решение задачи с вводимыми координатами где одна из сторон прямоугольника равна стороне квадрата. Все ли верно?

namespace SecondProject
{
    class Program
    {
        static void Main(string[] args)
        {
           
            Console.WriteLine("Vvedite dliny : ");
            int Dlina = int.Parse(Console.ReadLine());
            Console.WriteLine("Vvedite Shiriny : ");
            int Shirina = int.Parse(Console.ReadLine());
            int PlPr = Dlina * Shirina;
            int PlKv = Shirina * Shirina;
            Console.WriteLine(PlPr / PlKv);
        }
    }
}
Важно: Вы можете поддержать проект и автора.

A1.7. Дан прямоугольник с размерами 543 х 130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него?

            int L, W, C;
            int Res1 = 0;
            int Res2 = 0;
            Console.Write("Первая сторона прямоугольника: ");
            L = int.Parse(Console.ReadLine());
            Console.Write("Вторая сторона прямоугольника: ");
            W = int.Parse(Console.ReadLine());
            Console.Write("Сторона квадрата: ");
            C = int.Parse(Console.ReadLine());
            while (L >= C)
            {
                while (W >= C) {
                    W -= C;
                    Res1++;
                }
                L -= C;
                Res2++;
            }
            Console.WriteLine(Res1 * Res2 + " квадратов можно отрезать");
            Console.ReadKey();
Важно: Вы можете поддержать проект и автора.

Доброго времени суток.
Верно ли такое решение?

Console.WriteLine(Math.Floor(543f / 130f));      
Console.ReadKey();

Последний раз редактировалось 1 год назад Евгений ем

A1.6. С начала суток прошло n секунд. Определить:
а) сколько полных часов прошло с начала суток;
б) сколько полных минут прошло с начала очередного часа;
в) сколько полных секунд прошло с начала очередной минуты.

Console.Write("Укажите сколько прошло секунд с начала суток\t");
int sek = Int32.Parse(Console.ReadLine());
int hour = sek / 3600;
Console.WriteLine($"\nС начала суток прошло {hour} полных часов");
Console.WriteLine($"С начала очередного часа прошло {(sek - hour * 3600)/ 60} полных минут");
Console.WriteLine($"С начала очередной минуты прошло {sek - (sek / 60) * 60} полных секунд");
Console.ReadLine();
Важно: Вы можете поддержать проект и автора.

A1.7. Дан прямоугольник с размерами 543 х 130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него?

            int height = 540;
            int width = 130;
            int ring = 130;
            int count = 0;
            if (height >= ring && width >= ring )
            {
                while (width >= ring)
                {
                    width -= ring;
                    count += 1;
                }
                int mult = count;
                height -= ring;
                while (height >= ring)
                {
                    height -= ring;
                    count += mult;
                }

                Console.WriteLine(count);
            }
            else
            {
                Console.WriteLine("NOOOOOO!!!");
            }
Важно: Вы можете поддержать проект и автора.

A1.6. С начала суток прошло n секунд. Определить:
а) сколько полных часов прошло с начала суток;
б) сколько полных минут прошло с начала очередного часа;
в) сколько полных секунд прошло с начала очередной минуты.

А если прошло 3600 секунд, то получается с начала суток прошло 0 секунд?

Важно: Вы можете поддержать проект и автора.

Вернулся к этому разделу, немного изучив циклы и массивы :)
A1.8. Дано целое число k (1 ≤ k ≤ 365). Присвоить целочисленной величине n значение 1, 2, …, 6 или 0 в зависимости от того, на какой день недели (понедельник, вторник, …, субботу или воскресенье) приходится k-й день года, в котором 1 января:
а) понедельник;
б) вторник;
в) d-й день недели (если 1 января — понедельник, то d=1, если вторник — d=2, …, если воскресенье — d=7).
Вариант а)

int day = Convert.ToInt32(Console.ReadLine());
int check = day % 7 - 1;
string[] dayOfWeek = { "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс" };
if (day >= 0 && day <= 365)
{
   for (int i = 0; i < dayOfWeek.Length; i++)
   {
      if (check == i)
      {
         Console.WriteLine(dayOfWeek[i]);
         break;
      }
   }
}

Вариант б) Тоже самое, только в массиве первый элемент сделать последним.
Вариант в) Не понял в чем суть задания :((

Важно: Вы можете поддержать проект и автора.

Не совсем понимаю пчм day%7-1 ?

Роман, потому что изначально день года задан, начиная с единицы. А вывести нужно день недели, начиная с нуля.

Важно: Вы можете поддержать проект и автора.

A1.7 Дан прямоугольник с размерами 543 х 130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него?

int longSideR = 543, shortSideR = 130, sideSquare = 130;
int areaRetangle = longSideR * shortSideR;
int areaSquare = sideSquare * sideSquare;
Console.WriteLine(areaRetangle / areaSquare + " квадрата(ов)");
Важно: Вы можете поддержать проект и автора.

A1.6. Решение:

Console.WriteLine("Сколько секунд прошло с начала суток? ");
int sec = Convert.ToInt32(Console.ReadLine());
int min = sec / 60;
int hour = min / 60;
int day = hour / 24;
int modulHour = hour % hour+hour;
int modulMin = (min % min + min) % 60;
int modulSec = (sec % sec +sec)% 60;
Console.WriteLine(modulHour + " полных часов прошло с начала суток");
Console.WriteLine(modulMin + " минут прошло с начала очередного часа");
Console.WriteLine(modulSec + " секунд прошло с начала очередной минуты");

Подскажите пожалуйста. Как мой код сделать еще короче?

Важно: Вы можете поддержать проект и автора.

A1.2. Дана масса в килограммах. Найти число полных центнеров в ней.
A1.3. Дана масса в килограммах. Найти число полных тонн в ней.
Вот мое решение задач в одном блоке.

            Console.Write("Ведите число килограмм: ");
            int cm, a, b, c;
            cm = Convert.ToInt32(Console.ReadLine());
            c = (cm - (cm % 1000)) / 1000;
            b = ((cm - (cm % 100)) / 100) - c * 10;
            a = cm % 100;
            Console.WriteLine($"Результат: {c} тонн, {b} центнеров, {a} килограмм");
            Console.ReadKey();
Важно: Вы можете поддержать проект и автора.

Огромная просьба к Вячеславу Рычкову прокомментировать запись выше.

А для чего использовать оператор %, если результат деления int на int и так будет целое число? Будет ли верным такое решение?

Console.Write(«Ведите массу в килограммах: «);
int kgAmount = Convert.ToInt32(Console.ReadLine());
int tAmount = kgAmount / 1000;
int cAmount = kgAmount / 100;
Console.WriteLine($»Результат: {tAmount} тонн, {cAmount} центнеров»);
Console.ReadKey();

Последний раз редактировалось 1 год назад Андреас ем

A 1.5 С некоторого момента прошло 234 дня. Сколько полных недель прошло за этот период?

int DaysPassed, WeeksFull;
Console.WriteLine("Введите, сколько прошло дней:");
DaysPassed = Convert.ToInt32(Console.ReadLine());
if (DaysPassed < 7)
   Console.WriteLine($"С момента отсчета прошло 0 целых недель, а остаток дней равен - { DaysPassed} ");
if (DaysPassed <= -1)
   Console.WriteLine("Количество дней не может быть меньше нуля ");
WeeksFull = DaysPassed / 7;
DaysPassed -= WeeksFull * 7;
Console.WriteLine($"Полных недель с начала отчета прошло - { WeeksFull}, остаток дней равен - { DaysPassed} ");
Важно: Вы можете поддержать проект и автора.

А1.7.Дан прямоугольник с размерами 543 х 130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него?

int a = 543;
int b = 130;
int a1 = 130;
// или вводим переменные
int plochad = a * b; //узнаем площадь прямоугольника
int plochad1 = Convert.ToInt32(Math.Pow(a1, 2)); // узнаем площадь квадрата
int otvet = plochad / plochad1;//узнаем сколько квадратов помещается в прямогульник
Console.WriteLine("Ответ: " + otvet);
Console.ReadKey();
Важно: Вы можете поддержать проект и автора.

Решение неправильное! Ни в коем случае, по площади не считают вместимость….

Важно: Вы можете поддержать проект и автора.

A1.9. С начала 2020 года по некоторый день прошло n месяцев и 2 дня. Присвоить целочисленной величине x значение 1, 2, …, 11 или 12 в зависимости от того, каким месяцем (январем, февралем и т.п.) является месяц этого дня. Например, при n=3 значение х равно 4.
Решение:

using System;
class HelloWorld 
{
static void Main() 
{
   Console.WriteLine("сейчас 2020 год");
   Console.Write("номер последнего месяца = ");
   string[] month=new string[] {"Январь", "Февраль", "Март", "Aпрель", "Мaй", "Июнь", "Июль", "Aвгуст", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"};
   int n = Convert.ToInt32(Console.ReadLine()); // вводит номер месяца
   n%=12;
   Console.WriteLine("прошёл "+month[n-1]); // выводит предыдущий месяц
   Console.WriteLine("сейчас "+month[n]); // выводит текущий месяц
   Console.ReadKey();
}
}
Важно: Вы можете поддержать проект и автора.
n%=12;

Для чего вот эта строчка. Ломаю голову не могу понять. Вроде и без неё все работает прекрасно.

A1.6. С начала суток прошло n секунд. Определить:

Console.WriteLine("Сколько прошло секунд? ");
double sec = double.Parse(Console.ReadLine());
double hour = (sec / 3600);
Console.WriteLine("Прошло "+ hour +" часов");
Console.ReadLine();
Важно: Вы можете поддержать проект и автора.

Два дня над этой задачей свою голову ломал…
P.S. начинающий я только

int chas_v_sec = 3600;
int chas_v_min = 60;
int min_sec = 60;
Console.WriteLine("Пожалуйста, задайте: Сколько прошло секунд с начала суток?");
int n_seconds = Convert.ToInt32(Console.ReadLine());
int hours = n_seconds / chas_v_sec;
Console.WriteLine("С начала суток прошло " + hours + " часов");
int sec_sutok = n_seconds - hours * chas_v_sec; 
//Количество пройденных секунд после очередного часа
int min = sec_sutok / chas_v_min;
Console.WriteLine("С начала очередного часа прошло полных " + min + " минут");
int sec = n_seconds - min_sec * (n_seconds / min_sec);
Console.WriteLine("С начала очередной минуты прошло " + sec + " секунд");
Console.ReadKey();
Важно: Вы можете поддержать проект и автора.

A1.1. Дано расстояние в сантиметрах. Найти число полных метров в нем.

using System;
namespace Lessons
{
  class Program
  {
     static void Main(string[] args)
     {
        Console.WriteLine("Введите размер в сантиметрах ");
        double firstValue = double.Parse(Console.ReadLine());
        double result = (firstValue * 10);
        Console.WriteLine("Вот ваше число в метрах = "+ result);
        Console.ReadLine();
     }
  }
}
Важно: Вы можете поддержать проект и автора.

да, вы правы) новичок просто)))

A1.8. Дано целое число k (1 ≤ k ≤ 365). Присвоить целочисленной величине n значение 1, 2, …, 6 или 0 в зависимости от того, на какой день недели (понедельник, вторник, …, субботу или воскресенье) приходится k-й день года, в котором 1 января:
а) понедельник;
б) вторник;
в) d-й день недели (если 1 января — понедельник, то d=1, если вторник — d=2, …, если воскресенье — d=7).

int k, n, d;
int tr = 0;
while (tr != 1)
{
//Пользователь вводит количество дней с начала года
   Console.Write("Введите количество дней, прошедших с начала года: ");
   k = Convert.ToInt32(Console.ReadLine());
   Console.WriteLine();
   do
   {
      Console.Write("Введите номер дня недели, с которого начинается год (от 1 до 7, если 1 - понедельник, 2 - вторник, ...) : ");
      d = Convert.ToInt32(Console.ReadLine());
   }  while ((d > 7) || (d < 1));           
   Console.WriteLine("   Ответ: ");
   n = (k + d) % 7- 1;
   if  (n == 0)
      Console.WriteLine("{0} день: \"Воскресенье\", если Вы нажали \"{1}\" ", k, d);
   else if (n == 1)
      Console.WriteLine("{0} день: \"Понедельник\", если Вы нажали \"{1}\" ", k, d);
   else if (n == 2)
      Console.WriteLine("{0} день: \"Вторник\", если Вы нажали \"{1}\" ", k, d);
   else if (n == 3)
      Console.WriteLine("{0} день: \"Среда\", если Вы нажали \"{1}\" ", k, d);
   else if (n == 4)
      Console.WriteLine("{0} день: \"Четверг\", если Вы нажали \"{1}\" ", k, d);
   else if (n == 5)
      Console.WriteLine("{0} день: \"Пятница\", если Вы нажали \"{1}\" ", k, d);
   else if (n == 6)
      Console.WriteLine("{0} день: \"Суббота\", если Вы нажали \"{1}\" ", k, d);
   Console.WriteLine();
   Console.Write("Чтобы закончить выполнение программы нажмите 1,\n" + "чтобы запустить цикл заново нажмите 0: ");
   tr = Convert.ToInt32(Console.ReadLine());
   Console.WriteLine();
}
Console.ReadKey();
Важно: Вы можете поддержать проект и автора.

Спасибо за комментарий. Обязательно приму к сведению))

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

Важно: Вы можете поддержать проект и автора.

А если k+d=7, то в выражении n=(k+d)%7-1 получиться (-1). А (-1) это Суббота. Значит нужно в else if ( n==6 || n==-1)- для субботы.

Важно: Вы можете поддержать проект и автора.

Я был так близок к идеальному коду))

Важно: Вы можете поддержать проект и автора.

A1.6
Интересная задачка:)

Console.Write("Сколько секунд прошло с начала суток? ");
int seconds = Convert.ToInt32(Console.ReadLine());
int hors = seconds / 3600;
int min = (seconds - (hors * 3600)) / 60;
int sec = seconds - (hors * 3600) - (min * 60);
Console.WriteLine("С начала суток прошло " + hors + ":" + min + ":" + sec);
Важно: Вы можете поддержать проект и автора.
101
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x