2 / 2 / 1
Регистрация: 12.06.2013
Сообщений: 57

Найти в массиве чётные и нечётные элементы

14.06.2013, 21:23. Показов 12333. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, подскажите, у меня есть массив скажем A[10], мне нужно найти в нём чётные и нечётные элементы, подскажите как?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2013, 21:23
Ответы с готовыми решениями:

Отсортировать в массиве четные элементы, а нечетные оставить на своих местах
Прочитала много, вроде и алгоритм понимаю, но не могу реализовать. Нужно отсортировать в массиве четные элементы, именно элементы, а...

В первом одномерном массиве найти все нечетные элементы, во втором одномерном массиве найти все четные элементы и из них сформировать массив
1. Ввести одномерный массив используя генератор случайных чисел. Одномерный массив может быть целочисленного или вещественного типа....

Чётные и нечётные элементы в массиве
Дан массив А(n). Сколько в нём чётных и нечётных элементов, каких элементов больше и на сколько? Не знаю как это записать

15
 Аватар для Desu_Is_A_Lie
216 / 63 / 16
Регистрация: 26.02.2012
Сообщений: 114
14.06.2013, 21:25
C
1
2
3
4
5
6
7
8
9
10
11
for (i = 0; i < 10; i++)
{
    if (A[i] % 2 == 0)
    {
        /*чётное*/
    }
    else
    {
        /*нечётное*/
    }
}
1
 Аватар для BraunDe
7 / 7 / 4
Регистрация: 09.06.2013
Сообщений: 27
14.06.2013, 23:28
Так для справки скажу что
C
1
(A[i] % 2 == 0)
означает что % это остаток от деления, и если он равен нулю при делении на два, то число четное.
1
2 / 2 / 1
Регистрация: 12.06.2013
Сообщений: 57
15.06.2013, 06:46  [ТС]
Цитата Сообщение от BraunDe Посмотреть сообщение
Так для справки скажу что
C
1
(A[i] % 2 == 0)
означает что % это остаток от деления, и если он равен нулю при делении на два, то число четное.
Благодарю за справку!!! Ещё вопрос, если размер массива заранее неизвестен, например нужно ввести размер с клавиатуры, такое возможно? В учебнике все примеры по массивам с константой, сам пробовал сделать ввод с клавы, неудачно
0
 Аватар для Desu_Is_A_Lie
216 / 63 / 16
Регистрация: 26.02.2012
Сообщений: 114
15.06.2013, 10:05
Если в переменной j хранится размер массива, то замекнить в цикле условие i < 10 на i < j.
1
2 / 2 / 1
Регистрация: 12.06.2013
Сообщений: 57
15.06.2013, 14:21  [ТС]
Немного не про то спрашивал.
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
const int N=5;
int main()
{
int i, A[N], sum, count;
sum=0;
count=0;
printf("Vvedite massiv A\n");
for(i=0; i<N; i++){
    printf("Vvedite A[%d]=", i);
    scanf_s("%d", &A[i]);
    }
for(i=0; i<N; i++)
    {   
        if (A[i] % 2 == 0)
        {
        sum+=A[i];
        }
        
        else
        {
        count++;
        }   
    
    }
    printf("%d\n", sum);
    printf("%d\n", count);
_getch();
}
вот есть код, размер массива тут константа, а мне нужно размер массива ввести с клавиатуры в программе.

Например так:

C
1
2
printf("Введите размер массива N");
scanf("%d", &N);
0
 Аватар для Desu_Is_A_Lie
216 / 63 / 16
Регистрация: 26.02.2012
Сообщений: 114
15.06.2013, 15:18
C
1
2
3
4
5
6
7
8
9
int *A;
 
/*ввод N*/
 
A = (int*)malloc(N * sizeof(int));
 
/*работа с массивом*/
 
free(A);
1
40 / 37 / 15
Регистрация: 25.10.2012
Сообщений: 112
16.06.2013, 00:53
Цитата Сообщение от Desu_Is_A_Lie Посмотреть сообщение
C
1
A = (int*)malloc(N * sizeof(int));
Вот только не стоит приводить результат malloc, а по сути - всё верно.
0
 Аватар для Desu_Is_A_Lie
216 / 63 / 16
Регистрация: 26.02.2012
Сообщений: 114
16.06.2013, 10:06
Цитата Сообщение от xanderfomin Посмотреть сообщение
не стоит приводить результат malloc
В C практически везде видел приведение, а C++ компилятор вообще выдаст ошибку.
0
40 / 37 / 15
Регистрация: 25.10.2012
Сообщений: 112
16.06.2013, 13:31
Desu_Is_A_Lie, вот цитата из книги "Linux. Системное программирование" Роберта Лава:
Язык C автоматически повышает указатели на void при любых типах назначения. Таким образом, <...>, не требуется приводить тип возвращаемого значения malloc() к lvalue, используемому при назначении. Язык программирования C++, однако, не выполняет автоматическое повышение указателей void. Следовательно, пользователям C++ приходится приводить тип возвращаемого значения malloc() <...>. Некоторым программистам на C нравится приводить результат любой функции, возвращающей указатель на void, в том числе и malloc(). Я выступаю против этой практики, так как она скроет ошибку, если возвращаемое значение функции вдруг поменяется на что-то другое, отличное от указателя на void. Помимо этого, подобное приведение типов также прячет ошибку, если функция неправильно объявлена (Необъявленные функции по умолчанию возвращают значение типа int. Превращение целочисленного значения в указатель не может быть автоматическим, и при этом создаётся предупреждение. Приведение типа подавляет возвращения предупреждения). Хотя первый случай не является большим риском для malloc(), второй, определённо, скрывает опасность.
Его доводы мне кажутся достаточно убедительными, поэтому ИМХО стоит взять за правило отказ от приведения результата malloc().
1
 Аватар для shurikspk
409 / 228 / 43
Регистрация: 10.02.2013
Сообщений: 780
16.06.2013, 14:51
после этих действий нужно создавать массив, а не раньше как у вас

C
1
2
3
printf("Введите размер массива N");
scanf("%d", &N);
int A[N];
0
 Аватар для Z_A_S
58 / 58 / 44
Регистрация: 06.10.2012
Сообщений: 98
16.06.2013, 15:07
Такой код не будет компилироваться, размер массива должен быть определен как константное выражение (надо пользоваться освобождением памяти)
0
 Аватар для shurikspk
409 / 228 / 43
Регистрация: 10.02.2013
Сообщений: 780
16.06.2013, 15:21
Цитата Сообщение от Z_A_S Посмотреть сообщение
Такой код не будет компилироваться, размер массива должен быть определен как константное выражение (надо пользоваться освобождением памяти)
перед тем как писать такие высказывания попробуй скомпилировать сначала, код абсолютно рабочий (смотри вложение )
Миниатюры
Найти в массиве чётные и нечётные элементы  
0
 Аватар для Z_A_S
58 / 58 / 44
Регистрация: 06.10.2012
Сообщений: 98
16.06.2013, 15:48
Прошу:
Миниатюры
Найти в массиве чётные и нечётные элементы  
0
 Аватар для shurikspk
409 / 228 / 43
Регистрация: 10.02.2013
Сообщений: 780
16.06.2013, 15:51
ну по крайней мере Qt ест мою запись
0
 Аватар для Z_A_S
58 / 58 / 44
Регистрация: 06.10.2012
Сообщений: 98
16.06.2013, 15:56
пропустил имя массива, но сути это не меняет
Миниатюры
Найти в массиве чётные и нечётные элементы  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.06.2013, 15:56
Помогаю со студенческими работами здесь

Поменять в массиве четные и нечетные элементы
Поменять в массиве четные и нечетные элементы А Паскаль ,напишите программу,пожалуйста !!!

Проверить, чередуются ли в массиве четные и нечетные элементы
Помагиет рещить задачу плиз заранее спс..... Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем 1 2 числа. Если...

Четные и нечетные элементы в массиве поменять местами
помогите написать, рандомно заполнить одномерный массив числами, четные и не четные элементы массива поменять местами.

Переставить местами четные и нечетные элементы в массиве
Здравствуйте уважаемые форумчани!Прошу с задачей мне помочь,нужно переставить местами четные и нечетные элементы в массиве.Например:(до) ...

В одномерном массиве четные элементы разделить на 2, нечетные умножить на 3
Люди помогите пожалуйста, не знаю как сделать программу. В одномерном массиве четные элементы разделить на 2,нечетные умножить на 3.


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

Новые блоги и статьи
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
Verilog и интеллектуальная собственность - "глазами" обученной LM модели.
Hrethgir 17.04.2025
В сети встречаются участники, заявляющие что код на Verilog ни о чём не говорит. Но вот патентная практика на самом деле показывает обратное ими утверждаемому. То-есть код на Verilog включают в. . .
Свап-файл дополнительно к разделу (если вдруг не хватает или не создан)
jigi33 17.04.2025
ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНОГО SWAP ПРОСТРАНСТВА, Т. О. , РАСШИРЕНИЕ ЕГО РАЗМЕРА В Linux можно использовать как раздел подкачки (swap), так и файл подкачки (swap-файл). Чтобы создать swap-файл вместо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru