W4. Использование условного оператора в теле операторов цикла с условием и после него

New: Наш Чат

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


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

Задачи

W4.1.Дано натуральное число. Определить, какая цифра встречается в нем чаще: 0 или 9.

W4.2. Дано натуральное число. Верно ли, что цифра a встречается в нем реже, чем цифра b?

W4.3. Дано натуральное число. Определить, является ли разность его максимальной и минимальной цифр четным числом.

W4.4. Дано натуральное число. Определить, является ли сумма его максимальной и минимальной цифр кратной числу a.

W4.5. Дано натуральное число, в котором все цифры различны. Определить, какая цифра расположена в нем левее: максимальная или минимальная.

W4.6. Дано натуральное число. Если в нем есть цифры 2 и 5, то определить, какая из них расположена в числе левее. Если одна или обе эти цифры встречаются в числе несколько раз, то должны быть учтены самые левые из одинаковых цифр.

W4.7. Дано натуральное число. Если в нем есть цифры a и b, то определить, какая из них расположена в числе правее. Если одна или обе эти цифры встречаются в числе несколько раз, то должны быть учтены самые правые из одинаковых цифр.

W4.8. Составить программу, которая ведет учет очков, набранных каждой командой при игре в баскетбол. Количество очков, полученных командами в ходе игры, может быть равно 1, 2 или 3. После любого изменения счет выводить на экран. После окончания игры выдать итоговое сообщение и указать номер команды-победительницы. Окончание игры условно моделировать вводом количества очков, равного нулю.

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

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

W4. Использование условного оператора в теле операторов цикла с условием и после него

using System;
//W4. Использование условного оператора в теле операторов цикла с условием и после него
namespace W4
{
    class Program
    {
        static double Input (string Name, double Min = Double.MinValue, double Max = Double.MaxValue, double Exception1 = Double.MaxValue)
        {
            double Num;
            Console.WriteLine($"Введите {Name}");
            while (!(double.TryParse(Console.ReadLine(), out Num) && Num >= Min && Num <= Max && Num != Exception1)) Console.WriteLine($"Введено неверное значение, введите {Name}");
            return Num;
        }
        static void Main()
        {
            //W4.1
            Console.WriteLine("W4.1.Дано натуральное число. Определить, какая цифра встречается в нем чаще: 0 или 9. ");
            long N1 = (long)Input("натуральное число",long.MinValue, long.MaxValue);
            int N1C0 = 0;
            int N1C9 = 0;
            while (N1>0)
            {
                if (N1 % 10 == 0) N1C0++;
                if (N1 % 10 == 9) N1C9++;
                N1 /= 10;
            }
            if (N1C0 != N1C9) Console.WriteLine(N1C0 > N1C9 ? "В числе содержится больше цифр 0" : "В числе содержится больше цифр 0");
            else Console.WriteLine("Количество цифр 0 и 9 одинаково");
            Console.ReadKey();
            Console.Clear();
            //W4.2
            Console.WriteLine("W4.2. Дано натуральное число. Верно ли, что цифра a встречается в нем реже, чем цифра b? ");
            long N2 = (long)Input("Натуральное число",long.MinValue, long.MaxValue);
            int N2A = (int)Input("Цифру А", 0, 9);
            int N2B = (int)Input("Цифру B", 0, 9);
            int N2Acount = 0;
            int N2Bcount = 0;
            while (N2 > 0)
            {
                if (N2 % 10 == N2A) N2Acount++;
                if (N2 % 10 == N2B) N2Bcount++;
                N2 /= 10;
            }
            Console.WriteLine(N2Acount<N2Bcount?"Верно что цифра А встречается реже, чем цифра В": "НЕ верно что цифра А встречается реже, чем цифра В");
            Console.ReadKey();
            Console.Clear();
            //W4.3
            Console.WriteLine("W4.3. Дано натуральное число. Определить, является ли разность его максимальной и минимальной цифр четным числом. ");
            long N3 = (long) Input("натуральное число",long.MinValue, long.MaxValue);
            int N3temp;
            int N3Max = int.MinValue;
            int N3Min = int.MaxValue;
            while (N3>0)
            {
                N3temp = (int)( N3 % 10);
                if (N3temp > N3Max) N3Max = N3temp;
                if (N3temp < N3Min) N3Min = N3temp;
                N3 /= 10;
            }
            Console.WriteLine((N3Max-N3Min)%2==0 ? "Разность его максимальной и минимальной цифр является четным числом" : "Разность его максимальной и минимальной цифр НЕ является четным числом");
            Console.ReadKey();
            Console.Clear();
            //W4.4
            Console.WriteLine("W4.4. Дано натуральное число. Определить, является ли сумма его максимальной и минимальной цифр кратной числу a.");
            long N4 = (long)Input("натуральное число",long.MinValue,long.MaxValue);
            int N4A = (int)Input("число А",int.MinValue, int.MaxValue);
            int N4Max = 0;
            int N4Min = 9;
            int N4temp;
            while (N4>0)
            {
                N4temp =(int)( N4 % 10);
                if (N4temp > N4Max) N4Max = N4temp;
                if (N4temp < N4Min) N4Min = N4temp;
                N4 /= 10;
            }
            Console.WriteLine((N4Max+N4Min)%N4A == 0? "Cумма его максимальной и минимальной цифр являестся кратной числу a" : "Cумма его максимальной и минимальной цифр НЕ являестся кратной числу a");
            Console.ReadKey();
            Console.Clear();
            //W4.5
            Console.WriteLine("W4.5. Дано натуральное число, в котором все цифры различны. Определить, какая цифра расположена в нем левее: максимальная или минимальная. ");
            int N5MaxPlace= - 1;
            int N5MinPlace = -1;
            bool B5 = true;
            do
            {
                B5 = true;
                int N5count = 1;
                int N5Max = 0;
                int N5Min = 9;
                int N5temp;
                long N5 = (long)Input("натуральное число, в котором все цифры различны", long.MinValue, long.MaxValue);
                int[] N5M = new int[10];
                for (int a = 0; a < 10; a++) N5M[a] = 0;
                while (N5 > 0)
                {
                    N5temp = (int)(N5 % 10);
                    N5M[N5temp]++;
                    if (N5temp > N5Max) { N5Max = N5temp; N5MaxPlace = N5count; }
                    if (N5temp < N5Min) { N5Min = N5temp; N5MinPlace = N5count; }
                    N5count++;
                    N5 /= 10;
                }
                for (int b = 0; b < 10; b++)
                {
                    if (N5M[b] > 1) { Console.WriteLine("Все цифры должны быть различны"); B5 = false; }
                }
            }
            while (!B5);
            Console.WriteLine(N5MaxPlace > N5MinPlace ? "Максимальная цифра расположена левее" : "Минимальная цифра расположена левее");
            Console.ReadKey();
            Console.Clear();
            //W4.6
            Console.WriteLine("W4.6. Дано натуральное число. Если в нем есть цифры 2 и 5, то определить, какая из них расположена в числе левее. Если одна или обе эти цифры встречаются в числе несколько раз, то должны быть учтены самые левые из одинаковых цифр. ");
            long N6 = (long)Input("Натуральное число",long.MinValue, long.MaxValue);
            int N6count = 1;
            int N6place2 = -1;
            int N6place5 = -1;
            while (N6>0)
            {
                if (N6 % 10 == 2) N6place2 = N6count;
                if (N6 % 10 == 5) N6place5 = N6count;
                N6count++;
                N6 /= 10;
            }
            if (N6place2 > 0 && N6place5 > 0) Console.WriteLine(N6place5 > N6place2 ? "Цифра 5 расположена левее, чем 2" : "Цифра 2 расположена левее, чем 5");
            else Console.WriteLine("В числе нет цифр 2 и 5");
            Console.ReadKey();
            Console.Clear();
            //W4.7
            Console.WriteLine("W4.7. Дано натуральное число. Если в нем есть цифры a и b, то определить, какая из них расположена в числе правее. Если одна или обе эти цифры встречаются в числе несколько раз, то должны быть учтены самые правые из одинаковых цифр. ");
            long N7 = (long)Input("натуральное число", long.MinValue, long.MaxValue);
            int N7A = (int)Input("цифру А", 0, 9);
            int N7Aplace = -1;
            int N7B = (int)Input("цифру B", 0, 9);
            int N7Bplace = -1;
            int N7count = 1;
            while (N7>0)
            {
                if (N7 % 10 == N7A && N7Aplace < 0) N7Aplace = N7count;
                if (N7 % 10 == N7B && N7Bplace < 0) N7Bplace = N7count;
                N7count++;
                N7 /= 10;
            }
            if (N7Aplace > 0 && N7Bplace > 0) Console.WriteLine(N7Aplace < N7Bplace ? "Цифра А расположена в числе правее" : "Цифра В расположена в числе правее");
            else Console.WriteLine("В числе нет цифр А и В");
            Console.ReadKey();
            Console.Clear();
            //W4.8
            Console.WriteLine("W4.8. Составить программу, которая ведет учет очков, набранных каждой командой при игре в баскетбол. Количество очков, полученных командами в ходе игры, может быть равно 1, 2 или 3. После любого изменения счет выводить на экран. После окончания игры выдать итоговое сообщение и указать номер команды-победительницы. Окончание игры условно моделировать вводом количества очков, равного нулю. ");
            int N8team1sum = 0;
            int N8team2sum = 0;
            int N8score = -1;
            int N8team;
            while (N8score!=0)
            {
                N8team = (int)Input("номер команды получившей очки",1,2);
                N8score = (int)Input("количество полученых очков", 0,3);
                if (N8team == 1) N8team1sum += N8score;
                if (N8team == 2) N8team2sum += N8score;
                Console.WriteLine($"Счет {N8team1sum}:{N8team2sum}");
            }
            Console.WriteLine($"Итоговый счет {N8team1sum}:{N8team2sum}");
            if (N8team1sum != N8team2sum) Console.WriteLine(N8team1sum > N8team2sum ? "Победила первая команда" : "Победила вторая команда");
            else Console.WriteLine("Ничья");
            Console.ReadKey();
            Console.Clear();
        }
    }
}


W4.1 решил вот так, скорей всего очень некрасиво, но как говорится как сумел и работает.

 static void Main(string[] args)
        {
            Random rnd = new Random();
            int number = rnd.Next(0, 10000000);
            String number1 = Convert.ToString(number);
            int value = number1.Length;
            int[] arr = new int[value]; int zero = 0; int nine = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                arr[i] = number % 10;
                if (arr[i] == 0)
                    zero++;
                if (arr[i] == 9)
                    nine++;
                number = number / 10;
            }
            Console.WriteLine($"Число {number1} имеет {zero} нулей и {nine} девяток");
        }

#4.8
Console.WriteLine(«The game starts»);
int point1 = 0;
int point2 = 0;
int team = 0;
int sum1 = 0;
int sum2 = 0;
while (team >= 0)
{
  Console.Write(«team selection, 1 or 2: «);
  team = Convert.ToInt32(Console.ReadLine());
  if (team == 1)
  {
    Console.Write(«point team 1-st: «);
    point1 = Convert.ToInt32(Console.ReadLine());
    if (point1 > 0 && point1 < 4)
    {
      sum1 += point1;
      Console.WriteLine($»score: 1-st team — {sum1} point, 2-st team -{sum2} point»);
    }
    else if (point1 == 0)
    {
      Console.WriteLine($»Game over. » +
        $»Score: 1-st team — {sum1} point, 2-st team -{sum2} point»);
      break;
    }
    else
      break;
  }
  if (team == 2)
  {
    Console.Write(«point team 2-st: «);
    point2 = Convert.ToInt32(Console.ReadLine());
    if (point2 > 0 && point2 < 4)
    {
      sum2 += point2;
      Console.WriteLine($»score: 1-st team — {sum1} point, 2-st team -{sum2} point»); 
    }
    else if (point2 == 0)
    {
      Console.WriteLine($»Game over. » +
        $»Score: 1-st team — {sum1} point, 2-st team -{sum2} point»);
      break;
    }
    else
      break;
  }
  if (team <1 || team>2)
  { 
    Console.WriteLine($»Game over. «+ 
        $»Score: 1-st team — {sum1} point, 2-st team -{sum2} point»);
    break;
  }
}

№4.1

Console.WriteLine(«Введите натуральное число: «);
int num = Convert.ToInt32(Console.ReadLine());
int i = 0;
int q = 0;
int ost = 0;
while (num>0)
{
  ost = num%10;
  num /= 10;
  if (ost == 9)
    i++;
  if (ost == 0)
    q++;
 }
if (i > q)
  Console.WriteLine($»цифра — 9 встречается чаще {i} раза»);
else if
  (i == q)
  Console.WriteLine($»цифра — 9 и 0 встречаются одинаково {i} раз(а)»);
else
  Console.WriteLine($»цифра — 0 встречается чаще {q} раза»);

W4.8. Составить программу, которая ведет учет очков, набранных каждой командой при игре в баскетбол. Количество очков, полученных командами в ходе игры, может быть равно 1, 2 или 3. После любого изменения счет выводить на экран. После окончания игры выдать итоговое сообщение и указать номер команды-победительницы. Окончание игры условно моделировать вводом количества очков, равного нулю.

 static void Main(string[] args)
        {
            int selectCommand;
            int points;
            int totalPointsFirstCommand = 0;
            int totalPointsSecondCommand = 0;
            while(true)
            {
                Console.Write("Choose Command (1 or 2) ");
                selectCommand = Convert.ToInt32(Console.ReadLine());
                if(selectCommand==1)
                {
                    Console.Write("How many points did the command 1 get (1, 2 or 3) ");
                    points = Convert.ToInt32(Console.ReadLine());
                    if(points >= 1 && points = 1 && points <= 3)
                    {
                        totalPointsSecondCommand += points;
                    }
                    else if (points == 0)
                    {
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }
                else
                {
                    continue;
                }
                Console.WriteLine();
                Console.WriteLine($"Number of points 1 command={totalPointsFirstCommand}");
                Console.WriteLine($"Number of points 2 command={totalPointsSecondCommand}");
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("RESULT");
            Console.WriteLine($"Number of points 1 command={totalPointsFirstCommand}");
            Console.WriteLine($"Number of points 2 command={totalPointsSecondCommand}");
        }

Половина решения исчезает, у вас что-то с сайтом

Алексей В, мы работаем над решением этой проблемы

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

Алексей В, начало верное, но решение не закончено. Так что тут еще достаточно работы

Важно: Вы можете поддержать проект и автора.
Важно: Вы можете поддержать проект и автора.
9
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x