Answer the question
In order to leave comments, you need to log in
How to fix a C# program?
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();
}
}
}
Answer the question
In order to leave comments, you need to log in
sashka_amelin32 , bro, if you're doing a lab on simple arrays and you "have been sitting for a long time and can't understand what the problem is"
then either you don't get enough sleep or you don't understand what you're doing at all.
and to scoff when they tell you that they don’t really want to solve this for you) all the more it’s not necessary))
but in fact look in the debugger for the order in which the commands are executed)
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();
}
}
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question