Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Виталя97
2 / 2 / 2
Регистрация: 04.05.2015
Сообщений: 93
#1

Записать в третий массив все четные элементы первого массива, которые не входят во второй массив Исправить код - C++

09.05.2015, 16:59. Просмотров 441. Ответов 1
Метки нет (Все метки)

Такая задача:
1) Записать в третий массив все четные элементы первого массива, которые не входят во второй массив.
2) Записать в третий массив все нечетные элементы второго массива, которые не входят в первый массив.
Использовать функции.

Вот такой код имеем:
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
void chetnie(int *mass1, int *mass2, int *mass3, int razmer)
{
    int new = 0;
 
    for (int i = 0; i < razmer; ++i)
        if (mass1[i] % 2 == 0 && mass1[i] != mass2[i])
            mass3[new++] = mass1[i];        
    
    for (int i = 0; i < new; ++i)
    {
        cout << mass3[i] << " ";
    }       
}
 
void nechetnie(int *mass1, int *mass2, int *mass3, int razmer)
{
    int new = 0;
 
    for (int i = 0; i < razmer; ++i)
        if (mass2[i] % 2 != 0 && mass2[i] != mass1[i])
            mass3[new++] = mass2[i];            
        
    for (int i = 0; i < j; ++i)
    {
        cout << mass3[i] << " ";
    }       
}
Проблема в том что оно должно выводить четные элементы первого массива, которые не входят во второй массив, (все нечетные элементы второго массива, которые не входят в первый массив) а оно выводит с ними.
Вот фото:
Записать в третий массив все четные элементы первого массива, которые не входят во второй массив Исправить код
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2015, 16:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Записать в третий массив все четные элементы первого массива, которые не входят во второй массив Исправить код (C++):

Одномерный массив. Найти наименьшие среди элементов первого массива, которые не входят во второй массив. - C++
Задано два массива. Найти наименьшие среди элементов первого массива, которые не входят во второй массив. Ни как не могу придумать:cry:, ...

Записать в третий массив С все элементы из массива B, которые не встречаются в массиве А - C++
Есть два массива A и B. Нужно записать в третий массив С все элементы из массива B, которые не встречаются в массиве А. Что-то не...

Найти минимальный из элементов первого массива, которые не входят во второй массив - C++
Одномерные массивы Даны два массива А и В из 20 вещественных чисел каждый. Найти min из элементов первого массива, которые не входят во...

Найти наименьшие среди элементов первого массива, которые не входят во второй массив - C++
Задано два массива. Найти наименьшие среди элементов первого мас-сива, которые не входят во второй массив. Но только без...

Из массива Х все четные элементы записать в динамический массив Y - C++
Сформировать динамический одномерный целочисленный массив Х. Найти количество четных элементов. Из массива Х все четные элементы записать в...

Из целочисленного массива Х все четные элементы записать в массив Y. Удалить в массивах максимальные элементы - C++
Из целочисленного массива Х(N) все четные элементы записать в массив Y(k). Удалить в массивах максимальные элементы. В программе написать...

1
4everPchelka
0 / 0 / 1
Регистрация: 09.05.2015
Сообщений: 1
09.05.2015, 18:49 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
В первом цикле в функции сравниваются только одинаковые по номеру элементы массива, то есть первый элемент первого массива, с первым второго и только с ним. Затем второй со вторым и так далее. А нужно каждый четный элемент первого массива сравнивать со всеми элементами второго, т.е. для первой функции примерно так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void chetnie(int *mass1, int *mass2, int *mass3, int razmer)
{
    int aa = 0;
    for (int i = 0; i < razmer; ++i)
    {
        bool b = false;
        if (mass1[i] % 2 == 0)
        {
            for (int j = 0; j < razmer; j++)
                if (mass1[i] == mass2[j])
                    b = true;
            if (!b)
                mass3[aa++] = mass1[i];
        }
    }
    for (int i = 0; i < aa; ++i)
    {
        cout << mass3[i] << " ";
    }
}
вторая функция аналогично
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2015, 18:49
Привет! Вот еще темы с ответами:

Дан массив целых чисел. Переписать все положительные элементы во второй массив, а остальные - в третий - C++
Дан массив целых чисел. Переписать все положительные элементы во второй массив, а остальные - в третий Помогите, подправьте немного код,...

с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого - C++
с клавиатуры ввести массив,во второй записать нечетные элеиенты из первого.В третий массив записать четные элементы, стоящие на нечетных...

Массив: Сформировать третий массив, в который включить все отрицательные элементы массива А и все максимальные элементы массива В. - C++
Даны массивы целых чисел A и B. Сформировать третий массив, в который включить все отрицательные элементы массива А и все максимальные...

Создать третий массив, в котором собрать элементы массива A, которые не включаются в массив B - C++
4. Даны два массива: А и B (M и N вводятся с клавиатуры). Необходимо создать третий массив минимально возможного размера, в котором нужно...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru