Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/47: Рейтинг темы: голосов - 47, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 17.11.2019
Сообщений: 46

Проверить, чередуются ли в массиве четные и нечетные числа

18.11.2019, 13:44. Показов 9155. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мужики выручайте, что я не так сделал?
можете конкретно у меня в программе исправить без составления новой пожалуйста?)

Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные
и нечетные числа.Если чередуются, то вывести 0, если нет, то вывести порядковый
номер первого элемента, нарушающего закономерность.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
static void Main(string[] args)
        {
            Console.WriteLine("Введите кол-во чисел для формирования случайного массива: ");
            int n = Convert.ToInt32(Console.ReadLine()); 
            int k = 0; 
            int x = 0; 
            int[] arr = new int[n]; 
            Random rand = new Random(); 
            for (int i = 0; i < n; i++) 
            { 
            arr[i] = rand.Next(100); 
            Console.WriteLine(i + ")" + arr[i]); 
 
            } 
            for (int i = 0; i < n; i++) 
            { 
            if ((arr[i++]&arr[i]) % 2 == 0) 
 
            { 
            x=1; 
            } 
 
            else 
            { 
            x=2; 
            Console.WriteLine("Чередование чётных и не чётных прервалось на элементе с номером:" + (i) + " и " + (i - 1)); 
            break; 
            } 
 
            } 
            if (x==1) 
            { 
            Console.WriteLine("Четные и нечетные числа чередуются!"); 
 
 
            } 
            Console.ReadKey();
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2019, 13:44
Ответы с готовыми решениями:

Проверить, чередуются ли в массиве четные и нечетные числа
Мужики че я не так сделал? помогите срочно выручите Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и...

Проверить, чередуются ли в массиве четные и нечетные числа
Дан целочисленный массив размера n. Проверить чередуются ли в нём четные и нечетные числа. Если чередуются, вывести - 0, если нет, вывести...

Дан целочисленный массив размера N: проверить, чередуются ли в нем четные и нечетные числа?
Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то...

19
44 / 34 / 12
Регистрация: 07.05.2016
Сообщений: 77
18.11.2019, 14:27
Полагаю, одна из проблем в этом
C#
1
2
3
(1 & 2) % 2 == 0 //true
(1 & 1) % 2 == 0 //false
(2 & 2) % 2 == 0 //true!
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
18.11.2019, 14:38
Цитата Сообщение от lfyy Посмотреть сообщение
без составления новой
C#
15
16
17
18
19
20
21
22
23
24
25
for (int i = 0; i < n-1; i++)
{
    if ((arr[i]+arr[i+1]) % 2 == 0)
    {
        Console.WriteLine("Чередование чётных и не чётных прервалось на элементе с номером:" + (i+1));
        Console.ReadKey();
        return;
    }
}
Console.WriteLine("Четные и нечетные числа чередуются!");
Console.ReadKey();
С составлением новой:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static void Main(string[] args)
{
    Console.WriteLine("Введите кол-во чисел для формирования случайного массива:");
    int n = int.Parse(Console.ReadLine());
    int[] arr = new int[n];
    Random rand = new Random();
    for (int i = 0; i < n; i++)
    {
        arr[i] = rand.Next(100);
        Console.WriteLine(i + ")" + arr[i]);
    }
    Console.WriteLine(CheckArray(arr));
    Console.ReadKey();
}
 
static int CheckArray(int[] a)
{
    for (int i = 0; i < a.Length - 1; i++)
        if ((a[i] + a[i + 1]) % 2 == 0)
            return i+1;
    return 0;
}
0
1 / 1 / 0
Регистрация: 17.11.2019
Сообщений: 46
18.11.2019, 21:29  [ТС]
а если будут числа 3 и 5? если их сложить получится четное число и все пойдет неправильно
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
18.11.2019, 21:35
Можно так

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
 
namespace Test
{
 
    class Program
    {
 
        private static void Main(string[] args)
        {
            int[] arr = new int[2];
 
            int i = 0;
 
            while (i < arr.Length&& i%2==0? arr[i]%2==0: arr[i] % 2 != 0)
            {
                i++;
            }
 
            if (i == arr.Length)
            {
                Console.WriteLine("Всё верно");
            }
 
 
            Console.ReadKey();
        }
 
    }
 
}
0
1 / 1 / 0
Регистрация: 17.11.2019
Сообщений: 46
18.11.2019, 21:42  [ТС]
а если будут числа 3 и 5? если их сложить получится четное число и все пойдет неправильно
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
18.11.2019, 21:43
зачем их складывать?
0
1 / 1 / 0
Регистрация: 17.11.2019
Сообщений: 46
18.11.2019, 21:46  [ТС]
я случайно не тебе ответил, я это писал предыдущему чувак, но раз так можешь помочь конкретно в моей программе изменить так чтобы все работало?
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
18.11.2019, 21:47
lfyy, Ещё раз, ЗАчем тебе складывать числа, если надо проверить их на чётность?
0
1 / 1 / 0
Регистрация: 17.11.2019
Сообщений: 46
18.11.2019, 21:52  [ТС]
он же вот это предлагал
C#
1
if ((a[i] + a[i + 1]) % 2 == 0)
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
18.11.2019, 21:54
lfyy, Такое решение обязывает тебя иметь чётное количество элементов массива. посмотри моё выше
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int[] arr = new int[2];
 
            int i = 0;
 
            while (i < arr.Length&& i%2==0? arr[i]%2==0: arr[i] % 2 != 0)
            {
                i++;
            }
 
            if (i == arr.Length)
            {
                Console.WriteLine(0);
            }
            else {
                Console.WriteLine(i);
            }
0
1 / 1 / 0
Регистрация: 17.11.2019
Сообщений: 46
18.11.2019, 21:55  [ТС]
мне надо сделать так чтобы это было похоже на работу ученика 1 курса
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
18.11.2019, 21:58
Лучший ответ Сообщение было отмечено lfyy как решение

Решение

lfyy, Просто прочитай что такое тернарный оператор.
Но можно сделать через брейк.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
 
namespace Test
{
 
    class Program
    {
 
        private static void Main(string[] args)
        {
            int[] arr = new int[2];
 
            int i = 0;
 
            while (i < arr.Length)
            {
                if (i % 2 == 0 && arr[i] % 2 != 0)
                    break;
 
                if (i % 2 != 0 && arr[i] % 2 == 0)
                    break;
 
                i++;
            }
 
            if (i == arr.Length)
            {
                Console.WriteLine(0);
            }
            else
            {
                Console.WriteLine(i);
            }
 
 
            Console.ReadKey();
        }
 
    }
 
}
0
1 / 1 / 0
Регистрация: 17.11.2019
Сообщений: 46
18.11.2019, 21:59  [ТС]
лучше прочитаю про вот это
C#
1
arr.Length
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
18.11.2019, 21:59
Цитата Сообщение от Masson1848 Посмотреть сообщение
fyy, Такое решение обязывает тебя иметь чётное количество элементов массива. посмотри моё выше
Я тебя обманул. Оно ничего не обязывает.
Надо определится с тем, у тебя обязательно первый элемент должен быть чётный, если да, то моё решение тебе подойдёт
0
1 / 1 / 0
Регистрация: 17.11.2019
Сообщений: 46
18.11.2019, 22:05  [ТС]
ниче не понимаю я пока слишком тупой, буду развиваться, в любом случае спасибо
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
18.11.2019, 22:41
Цитата Сообщение от lfyy Посмотреть сообщение
а если будут числа 3 и 5? если их сложить получится четное число и все пойдет неправильно
Ты хотя бы проверил код, или так ляпнул?
Четное и нечетное число в сумме дают нечетное число.
Два четных числа в сумме дают четное число.
Два нечетных числа в сумме дают четное число.
Здесь:
Цитата Сообщение от Даценд Посмотреть сообщение
C#
1
if ((arr[i]+arr[i+1]) % 2 == 0)
проверяется, является ли сумма двух чисел четной (по нулевому остатку от деления на 2). И если сумма четная, то она является суммой двух четных или двух нечетных чисел. Соответственно, прекращаем вычисления, т.к. чередование чётных и нечётных прервалось.
Так что все правильно и логично.
А вот в решении Masson1848, какая-то непонятная ерунда с проверкой индекса на четность.
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
18.11.2019, 22:54
Даценд, У меня идёт жёсткая проверка на то, что первый элемент чётный, а второй элемент нечётный, а у вас чредование чётных и нечётных
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
18.11.2019, 23:44
Masson1848,
Ну так в задании и нужно
Цитата Сообщение от lfyy Посмотреть сообщение
Проверить, чередуются ли в нем четные и нечетные числа.
0
315 / 244 / 149
Регистрация: 03.10.2017
Сообщений: 886
Записей в блоге: 1
18.11.2019, 23:50
Даценд, может у него обязательное условие, что первый элемент должен быть чётный, а второй нечётный
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2019, 23:50
Помогаю со студенческими работами здесь

Проверить, чередуются ли в массиве четные и нечетные числа.
3.Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то...

Проверить, чередуются ли в массиве четные и нечетные числа
Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если черудуются, то вывести 0,если нет, то...

Проверить, чередуются ли в массиве четные и нечетные числа
Плиз!!!!Помогите написать программу!!!!!! Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные...

Проверить, чередуются ли в массиве четные и нечетные числа
Проверить, чередуются ли в массиве четные и нечетные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер...

Проверить, чередуются ли в массиве четные и нечетные числа
1. Дан целочисленный массив размера n. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются – вывести 0, если нет –...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru