Как сделать так, чтобы при вводе отрицательного кол-ва человек или =0, в консоли выводилось «Количество челове - C#
Формулировка задачи:
Как сделать так, чтобы при вводе отрицательного кол-ва человек или =0, в консоли выводилось «Количество человек должно быть >= 1». Что нужно дописать?
class Program
{
static void Main(string[] args)
{
Console.Write("Введите количество человек: ");
int n = Convert.ToInt32(Console.ReadLine());
bool[] a = new bool[n];
Console.Write("Введите номер до какого мы будем считать: ");
int k = Convert.ToInt32(Console.ReadLine());
int s = n, tmp = -1;
if (k != 1)
{
while (s > 1)
{
for (int i = 0; i < k; )
{
tmp = (tmp + 1) % n;
if (!a[tmp])
i++;
}
a[tmp] = true;
s--;
}
for (int i = 0; i < a.Length; i++)
{
if (!a[i])
{
Console.WriteLine("Номер человека, который остался {0}", i + 1);
break;
}
}
}
else
Console.Write("Номер человека, который остался:" + n);
Console.ReadLine();
}
}
}Решение задачи: «Как сделать так, чтобы при вводе отрицательного кол-ва человек или =0, в консоли выводилось «Количество челове»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
Console.Write("Введите количество человек: ");
int n = Convert.ToInt32(Console.ReadLine());
if (n < 1)
{
Console.Write("Количество человек должно быть >= 1");
Console.ReadLine();
return;
}
bool[] a = new bool[n];
Console.Write("Введите номер до какого мы будем считать: ");
int k = Convert.ToInt32(Console.ReadLine());
int s = n, tmp = -1;
if (k != 1)
{
while (s > 1)
{
for (int i = 0; i < k;)
{
tmp = (tmp + 1) % n;
if (!a[tmp])
i++;
}
a[tmp] = true;
s--;
}
for (int i = 0; i < a.Length; i++)
{
if (!a[i])
{
Console.WriteLine("Номер человека, который остался {0}", i + 1);
break;
}
}
}
else
Console.Write("Номер человека, который остался:" + n);
Console.ReadLine();
}
}