Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
13 / 10 / 5
Регистрация: 04.01.2013
Сообщений: 205

Вернуть все четные числа массива в виде нового массива

28.04.2014, 20:37. Показов 3723. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Функция должна вернуть все четные числа массива в виде нового массива.

C++ (Qt)
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
int *f2 (int *mas,int N)
{
    int size=0;
 
    for(int i=0; i<N; i++)
    {
        if(mas[i]%2==0)
        {
            size++;
        }
    }
 
    int *even = new int [size];
 
    
    int j=0;
    for(int i(0); i<N; i++)
    {
        if(mas[i]%2==0)
        {
            even[j] = mas[i];
            j++;
        }
    }
    
    return even;
    delete []even;
    
}
Подскажите, в чем ошибка.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2014, 20:37
Ответы с готовыми решениями:

Удалить из массива все четные числа
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int q = 0; int z = 0; int main() { int size; cout &lt;&lt;...

Удалить из массива все четные числа
Удалить из массива все четные числа не используя вспомогательный массив. int b; int i,j=0; for(i=0;i&lt;n;i++) ...

Вывести все четные и нечетные числа массива
Здравствуйте!!! У меня есть такое задание не могу решать может поможете?? 1. Надо заполнить все дни января(31 день), в которых был...

24
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
28.04.2014, 22:24
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от luigration Посмотреть сообщение
Что именно передавать по ссылке? Вернее где ее передавать?
ну тот j который у вас глобальный, нужно объявить в мейне, и передать в функцию по ссылке. Все изменения которые с ним произойдут внутри функцию, будут и вне ее.
чтобы передать значение по ссылке
C++
1
int *f2 (int *mas,int N, int &j)
0
13 / 10 / 5
Регистрация: 04.01.2013
Сообщений: 205
28.04.2014, 22:29  [ТС]
Цитата Сообщение от alekopoko Посмотреть сообщение
cooller, ну с точки зрения затрат памяти или с точки зрения - что где-то там случайно совпадут индентификаторы и я не замечу, то да. Но программа мизерная,так что разницы нет.
Ну если я правильно понимаю, то ты намекаешь что это плохой стиль программирования) да) не спорю)
Можно же не делать j глобальной, а просто определить размерность получившегося массива?
0
1 / 1 / 1
Регистрация: 28.04.2014
Сообщений: 33
28.04.2014, 22:29
luigration, значит берешь и открываешь учебник) там тебе и будет самое подробное объяснение=))
ссылка - оператор &
изменяется внешний объект(j) с помощью локальной переменой (c)
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
#include <iostream>
using namespace std;
int *f2 (int *mas,int N,[U]int &c[/U])
{
    int size=0;
 
    for(int i=0; i<N; i++)
    {
        if(mas[i]%2==0)
        {
            size++;
        }
    }
    int *even = new int [size];
    for(int i(0); i<N; i++)
    {
        if(mas[i]%2==0)
        {
            even[c] = mas[i];
            c++;
        }
    }  
    return even;    
}
 void main()
 {
    int a[]={1,2,3,4,5,6,7,8,9,10};
    int *b;
    int j=0;
    b=f2(a,10,j);
    for(int i=0;i<j;i++)
    printf("%d\n",b[i]);
 }
0
13 / 10 / 5
Регистрация: 04.01.2013
Сообщений: 205
28.04.2014, 22:30  [ТС]
Цитата Сообщение от cooller Посмотреть сообщение
ну тот j который у вас глобальный, нужно объявить в мейне, и передать в функцию по ссылке. Все изменения которые с ним произойдут внутри функцию, будут и вне ее.
чтобы передать значение по ссылке
C++
1
int *f2 (int *mas,int N, int &j)
Да, при передаче копии адреса аргументы тоже меняются, я понимаю. Хорошо, посмотрю. Спасибо
0
1 / 1 / 1
Регистрация: 28.04.2014
Сообщений: 33
28.04.2014, 22:33
с можешь заменить на j
но j в mainе и j в функции разные переменные
опять же почитай про локальные(автоматические) глобальные статические переменные
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2014, 22:33

Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Помогите, пожалуйста. &gt;&gt;&quot;Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец...

Сколько элементов встречается в массиве по 3 раза
Помогите, пожалуйста. &gt;&gt;&quot;Дан одномерный массив А, состоящий из N элементов. Сколько значений элементов встречается в массиве по 3...

Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый массив переписать все четные
Помогите сделать данную программу: Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый массив переписать...

Вывести все четные числа массива в порядке возрастания их индексов, а затем все нечетные в порядке убывания
Дан целочисленный массив размера N.Вывести в начале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а...

Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем нечетные
Помогите пожалуйста с написанием программы. Не нарушая порядка следования нужно расположить в начале массива все четные числа а затем...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru