using System;
namespace DraftForLab2
{
class Program
{
static void DoBlock_1()
{
Console.Clear();
Console.WriteLine("Введіть бажану кількість цілих чисел (більше нуля):\t\t'For'");
int amount = int.Parse(Console.ReadLine());
if (amount > 0)
{
int maxVal = Int32.MinValue;
int iNum = 0;
Console.WriteLine("Вводьте будь які числа:");
for (int i = 1; i <= amount; i++)
{
int num = int.Parse(Console.ReadLine());
if (num > maxVal)
{
maxVal = num;
iNum = i;
}
}
Console.WriteLine($"Номер максимального елементу в цій послідовності {iNum}");
Console.ReadKey();
}
}
static void DoBlock_1_1()
{
Console.Clear();
Console.WriteLine("Введіть бажану кількість цілих чисел (більше нуля):\t\t'while'");
int amount = int.Parse(Console.ReadLine());
if (amount > 0)
{
int maxVal = Int32.MinValue;
int iNum = 0;
int i = 1;
Console.WriteLine("Вводьте будь які числа:");
while (i <= amount)
{
int num = int.Parse(Console.ReadLine());
if (num > maxVal)
{
maxVal = num;
iNum = i;
}
i++;
}
Console.WriteLine($"Номер максимального елементу в цій послідовності {iNum}");
Console.ReadKey();
}
}
static void DoBlock_1_2()
{
Console.Clear();
Console.WriteLine("Введіть бажану кількість цілих чисел (більше нуля):\t\t'do..while'");
int amount = int.Parse(Console.ReadLine());
if (amount > 0)
{
int maxVal = Int32.MinValue;
int iNum = 0;
int i = 1;
Console.WriteLine("Вводьте будь які числа:");
do
{
int num = int.Parse(Console.ReadLine());
if (num > maxVal)
{
maxVal = num;
iNum = i;
}
i++;
} while (i <= amount);
Console.WriteLine($"Номер максимального елементу в цій послідовності {iNum}");
Console.ReadKey();
}
}
static void DoBlock_2()
{
Console.Clear();
Console.WriteLine("Введіть число на яке будуть ділитися числа (не нуль)\t\t'For'");
int numeric = int.Parse(Console.ReadLine());
if (numeric != 0)
{
int tally = 0;
int num = 1;
Console.WriteLine("Введіть числа послідовності (щоб закінчити послідовність введіть 0):");
for (; num != 0;)
{
num = int.Parse(Console.ReadLine());
if (num % numeric == 0)
{
tally++;
}
}
Console.WriteLine($"Кількість елементів (в цій послідовності без врахування 0) які кратні числу {numeric} дорівнює {tally - 1}");
Console.ReadKey();
}
}
static void DoBlock_2_1()
{
Console.Clear();
Console.WriteLine("Введіть число на яке будуть ділитися числа (не нуль)\t\t'while'");
int numeric = int.Parse(Console.ReadLine());
if (numeric != 0)
{
int tally = 0;
int num = 1;
Console.WriteLine("Введіть числа послідовності (щоб закінчити послідовність введіть 0):");
while (num != 0)
{
num = int.Parse(Console.ReadLine());
if (num % numeric == 0)
{
tally++;
}
}
Console.WriteLine($"Кількість елементів (в цій послідовності без врахування 0) які кратні числу {numeric} дорівнює {tally - 1}");
Console.ReadKey();
}
}
static void DoBlock_2_2()
{
Console.Clear();
Console.WriteLine("Введіть число на яке будуть ділитися числа (не нуль)\t\t'do...while'");
int numeric = int.Parse(Console.ReadLine());
if (numeric != 0)
{
int tally = 0;
int num = 0;
Console.WriteLine("Введіть числа послідовності (щоб закінчити послідовність введіть 0):");
do
{
num = int.Parse(Console.ReadLine());
if (num % numeric == 0)
{
tally++;
}
} while (num != 0);
Console.WriteLine($"Кількість елементів (в цій послідовності без врахування 0) які кратні числу {numeric} дорівнює {tally - 1}");
Console.ReadKey();
}
}
static void DoBlock_3()
{
Console.Clear();
Console.WriteLine("Введіть довільну кількість доданків (більше нуля):\t\t'For'");
int numeric = int.Parse(Console.ReadLine());
if (numeric > 0)
{
int startNum = 15;
int res = 0;
int copyStartNum = startNum;
for (int i = 1; i <= numeric; i++)
{
if (i % 3 == 0)
{
copyStartNum = -startNum;
res += copyStartNum;
}
else
{
res += startNum;
}
startNum += 2;
}
Console.WriteLine($"S = {res}");
Console.ReadKey();
}
}
static void DoBlock_3_1()
{
Console.Clear();
Console.WriteLine("Введіть довільну кількість доданків (більше нуля):\t\t'while'");
int numeric = int.Parse(Console.ReadLine());
if (numeric > 0)
{
int startNum = 15;
int copyStartNum = startNum;
int res = 0;
int i = 1;
while (i <= numeric)
{
if (i % 3 == 0)
{
copyStartNum = -startNum;
res += copyStartNum;
}
else
{
res += startNum;
}
startNum += 2;
i++;
}
Console.WriteLine($"S = {res}");
Console.ReadKey();
}
}
static void DoBlock_3_2()
{
Console.Clear();
Console.WriteLine("Введіть довільну кількість доданків (більше нуля):\t\t'do...while'");
int numetic = int.Parse(Console.ReadLine());
if (numetic > 0)
{
int startNum = 15;
int copyStartNum = startNum;
int res = 0;
int i = 1;
do
{
if (i % 3 == 0)
{
copyStartNum = -startNum;
res += copyStartNum;
}
else
{
res += startNum;
}
startNum += 2;
i++;
} while (i <= numetic);
Console.WriteLine($"S = {res}");
Console.ReadKey(); Console.ReadKey(); Console.ReadKey();
}
}
static void Main(string[] args)
{
rsPoint:
int choice;
do
{
Console.Clear();
Console.WriteLine("Для виконання блоку 1 (Варіант 7) введіть 1");
Console.WriteLine("Для виконання блоку 2 (Варіант 31) введіть 2");
Console.WriteLine("Для виконання блоку 3 (Варіант 38) введіть 3");
Console.WriteLine("Для виходу з програми введіть 0");
choice = int.Parse(Console.ReadLine());
int select = 0;
switch (choice)
{
case 1:
select = 0;
Console.Clear();
Console.WriteLine("Виконую блок 1");
Console.WriteLine("Натисніть 1 для виконання завдання циклом \"For\"\n" +
"Натисніть 2 для виконання завдання циклом \"While\"\n" +
"Натисніть 3 для виконання завдання циклом \"Do... while\"\n" +
"Будь яку іншу клавішу для повернення в головне меню");
select = int.Parse(Console.ReadLine());
switch (select)
{
case 1:
DoBlock_1();
break;
case 2:
DoBlock_1_1();
break;
case 3:
DoBlock_1_2();
break;
default:
goto rsPoint;
}
break;
case 2:
select = 0;
Console.Clear();
Console.WriteLine("Виконую блок 2");
Console.WriteLine("Натисніть 1 для виконання завдання циклом \"For\"\n" +
"Натисніть 2 для виконання завдання циклом \"While\"\n" +
"Натисніть 3 для виконання завдання циклом \"Do... while\"\n" +
"Будь яку іншу клавішу для повернення в головне меню");
select = int.Parse(Console.ReadLine());
switch (select)
{
case 1:
DoBlock_2();
break;
case 2:
DoBlock_2_1();
break;
case 3:
DoBlock_2_2();
break;
default:
goto rsPoint;
}
break;
case 3:
select = 0;
Console.Clear();
Console.WriteLine("Виконую блок 3");
Console.WriteLine("Натисніть 1 для виконання завдання циклом \"For\"\n" +
"Натисніть 2 для виконання завдання циклом \"While\"\n" +
"Натисніть 3 для виконання завдання циклом \"Do... while\"\n" +
"Будь яку іншу клавішу для повернення в головне меню");
select = int.Parse(Console.ReadLine());
switch(select)
{
case 1:
DoBlock_3();
break;
case 2:
DoBlock_3_1();
break;
case 3:
DoBlock_3_2();
break;
default:
goto rsPoint;
}
break;
case 0:
Console.Clear();
Console.WriteLine("Зараз завершимо, тільки натисніть будь ласка ще раз Enter");
Console.ReadLine();
break;
default:
Console.WriteLine("Команда ``{0}'' не розпізнана. Зробіь, будь ласка, вибір із 1, 2, 3, 0.", choice);
break;
}
} while (choice != 0);
}
}
}