Написать программу, описание: среди n введенных чисел в диапазоне до - 10000 до +10000 1) найти все числа кратные 3, но не кратные 5; 2) найти числа, которые входят в диапазон от -100 до +100; 3) подсчитать кол-во чисел нечетных среды всех введенных программа должна быть с комментариями
Так как целевой язык НЕ указан, написал на C# (+ форматированный тест программы во вложениях. main.cs)
using System;
public class Test
{
/// <summary>
/// Метод для получения целого числа с клавиатуры
/// </summary>
/// <returns>Целое число, введённое с клавиатуры</returns>
public static int GetInt()
{
string input = Console.ReadLine();
return int.Parse(input);
}
/// <summary>
/// Метод для получения любого действительного числа с клавиатуры
/// </summary>
/// <returns>Действительное число, введённое с клавиатуры</returns>
public static double GetNumb()
{
string input = Console.ReadLine();
return double.Parse(input.Replace(",", "."));
}
/// <summary>
/// Точка входа в программу
/// </summary>
public static void Main()
{
//Получаем N
int N = 0;
for (; ; )
{
Console.Write("Введите количество цифр в последовательности - N: ");
try
{
N = GetInt();
break;
}
catch
{
Console.WriteLine("Некорректный ввод!\n");
}
}
// Создаём на основе полученного N массив чисел и заполняем его данными с клавиатуры
double[] A = new double[N];
for (int i = 0; i < N; ++i)
{
for (; ; )
{
Console.Write("A[{0}]: ", i + 1);
try
{
A[i] = GetNumb();
if (A[i] < -10000 || A[i] > 10000)
throw new Exception("Выход из диапазона");
break;
}
catch
{
Console.WriteLine("Некорректный ввод!\n");
}
}
}
// Задание 1
Console.Write("1) Числа, кратные 3, но НЕ кратные 5: ");
for (int i = 0; i < N; ++i)
if (A[i] % 3 == 0 && A[i] % 5 != 0)
Console.Write("{0} ", A[i]);
Console.WriteLine();
// Задание 2
Console.Write("2) Числа, входящие в диапазон: ");
for (int i = 0; i < N; ++i)
if (Math.Abs(A[i]) <= 100)
Console.Write("{0} ", A[i]);
Console.WriteLine();
// Задание 3
Console.Write("3) Количество НЕчётных чисел: ");
int K = 0;
for (int i = 0; i < N; ++i)
if (A[i] % 2 != 0) K++;
Console.WriteLine("{0}\n", K);
}
}