Напишите программу, которая в последовательности натуральных чисел определяет среднее арифметическое чисел, делящихся на 7. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
int n;
while (true)
{
Console.Write("Укажите количество чисел последовательности: ");
n = int.Parse(Console.ReadLine());//кол-во чисел
if (n > 1000)
{
Console.WriteLine("Количество чисел, превышающее 1000, запрещены.");
}
else
{
break;
}
}
int[] array = new int[n];//массив чисел
int[] result = new int[n];
Random r = new Random();
string s = "";
bool three = false; //bool для записи числа делящегося на 3
for (int i = 0; i < array.Length; i++) //ввод случ. чисел в массив
{
array[i] = r.Next(0, 30000);
s = array[i].ToString();
if (!three)
{
while (true)
{
s = array[i].ToString();
if ((int)Char.GetNumericValue(s[s.Length - 1]) == 3 && !three)//поверка окончания числа на цифру 3
{
three = true;
break;
}
else
{
array[i] = r.Next(0, 30000);
}
}
}
result[i] = array[i];
Console.Write(array[i].ToString() + "\t");
}
int count = 0;
int sum = 0;
Console.WriteLine("\nЧисла, делящиеся на 7:");
for (int i = 0; i < result.Length; i++)
{
if (result[i] % 7 == 0)
{
Console.Write(result[i].ToString() + "\t");
count++;
sum += result[i];
}
}
if (count == 0)
{
Console.Write("\nНе нашлось чисел, делящихся на 7");
}
else
Console.Write("\nСреднее арифметическое чисел, делящихся на 7: " + sum / count);
Console.ReadKey();