namespace Lab_3_Amel
{
class Program
{
static void Main(string[] args)
{
int[] mas = { 1, 2, 3, 4 };
int[] mas1 = { 1, 2, 3, 5 };
for (int i = 1; i < mas.Length; i++) // Проверка первого массива
{
if (mas[i] % 2 == 0 && mas[i - 1] % 2 != 0 || mas[i] % 2 != 0 && mas[i - 1] % 2 == 0) continue;
if (i == mas.Length)
Console.WriteLine("Массив №1 прошёл проверку. 0");
else
Console.WriteLine("Массив №1 не прошёл проверку. Индекс-" + i);
}
Console.WriteLine("======================");
for (int i = 1; i < mas1.Length; i++) // Проверка второго массива
{
if (mas1[i] % 2 == 0 && mas1[i - 1] % 2 != 0 || mas1[i] % 2 != 0 && mas1[i - 1] % 2 == 0) continue;
if (i == mas1.Length)
Console.WriteLine("Массив №2 прошёл проверку. 0");
else
Console.WriteLine("Массив №2 не прошёл проверку. Индекс-" + i);
}
Console.WriteLine("======================");
Console.Read();
}
}
}
if (i == mas.Length)
Console.WriteLine("Массив №1 прошёл проверку. 0");
using System;
namespace Lab_3_Amel
{
class Program
{
// Проверяет входящий массив на чередование чётности элементов.
// Возвращает -1 если закономерность порядка элементов "чётный, нечётный"
// или "нечётный, чётный" не нарушена, иначе индекс элемента на котором
// нарушается закономерность
static int Alternation(int[] array)
{
// если массив пустой то возвращаем "проверка пройдена"
if (array.Length == 0)
return -1;
// если массив состоит меньше чем из двух элементов сразу возвращаем индекс первого
if (array.Length < 2)
return 0;
// чётен ли первый элемент? и заодно признак чётности предыдущего элемента
bool even = array[0] % 2 == 0;
// идём по всем элементам массива кроме первого
for (int i = 1; i < array.Length; i++)
{
// чётность текущего элемента
bool parity = array[i] % 2 == 0;
// если чётность текущего элемента такая же как чётность предыдущего элемента
// то возвращаем индекс предыдущего, на нём как раз и нарушается закономерность
if (parity == even)
{
return i - 1;
}
// иначе запоминаем чётность текущего элемента на будущее
else
{
even = parity;
}
}
// массив пройдён полностью, закономерность не нарушена
return -1;
}
static void Main(string[] args)
{
int[] mas = { 1, 2, 3, 4 };
int[] mas1 = { 1, 2, 3, 5 };
// Проверка первого массива
int idx = Alternation(mas);
if (idx == -1)
Console.WriteLine("Массив №1 прошёл проверку. 0");
else
Console.WriteLine("Массив №1 не прошёл проверку. Индекс: {0}", idx);
Console.WriteLine("======================");
// Проверка второго массива
idx = Alternation(mas1);
if (idx == -1)
Console.WriteLine("Массив №1 прошёл проверку. 0");
else
Console.WriteLine("Массив №1 не прошёл проверку. Индекс: {0}", idx);
Console.WriteLine("======================");
Console.Read();
}
}
}
if (mas[i] % 2 == 0 && mas[i - 1] % 2 != 0 || mas[i] % 2 != 0 && mas[i - 1] % 2 == 0) continue;
namespace Test
{
class Program
{
public static void checkArray(int[] mas)
{
int check = 0;
for (int i = 1; i < mas.Length; i++)
{
if (mas[i] % 2 == 0 && mas[i - 1] % 2 != 0 || mas[i] % 2 != 0 && mas[i - 1] % 2 == 0)
{
check++;
if (check == (mas.Length - 1))
Console.WriteLine("Массив №1 прошёл проверку. 0");
}
else
Console.WriteLine("Массив №1 не прошёл проверку. Индекс-" + i);
}
}
static void Main(string[] args)
{
int[] mas = { 1, 2, 3, 4 };
int[] mas1 = { 1, 2, 3, 5 };
checkArray(mas);
checkArray(mas1);
Console.Read();
}
}
}