Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
lesha710
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 9
#1

Ввести два одномерных массива и заменить нулями те элементы второго массива, которые есть в первом

05.02.2017, 19:19. Просмотров 262. Ответов 9
Метки нет (Все метки)

Ввести два одномерных массива и заменить нулями те элементы второго массива, которые есть в первом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2017, 19:19
Ответы с готовыми решениями:

Заменить нулями те элементы первого массива, которые есть во втором
Даны два массива действительных чисел по 12 элементов в каждом. Заменить нулями...

Заменить нулями элементы массива, которые меньше данного числа
Задан одномерный целочисленный массив В нём заменить нулями элементы, которые...

Дано два одномерных массива, создать третий массив который содержит элементы первого массива
Дано два одномерных массива, создать третий массив который содержит элементы...

Выяснить, имеются ли элементы второго массива в первом
На русском: Даны два одномерных массива размерами n и k соответственно....

Найти минимум в первом массиве, предварительно исключив элементы, совпадающие с элементами второго массива
В чём собственно суть знаменитый диктатор Ли Сий Сын имеет в своём...

9
no swear
166 / 144 / 76
Регистрация: 01.07.2016
Сообщений: 776
Завершенные тесты: 1
05.02.2017, 19:33 #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
28
29
30
31
32
33
34
35
36
#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int a[100],b[100];
    int n;
    cout<<"Введите размер массивов=";
    cin>>n;
    cout<<"Введите элементы первого массива="<<endl;
    for(int i=0;i<n;++i){
        cout<<"["<<i+1<<"]=";
        cin>>a[i];
    }
    cout<<endl;
    cout<<"Введите элементы второго массива="<<endl;
    for(int i=0;i<n;++i){
        cout<<"["<<i+1<<"]=";
        cin>>b[i];
    }
    for(int i=0;i<n;++i){
        if(a[i]==b[i])b[i]=0;
    }
    cout<<endl;
    cout<<"Первый массив="<<endl;
    for(int i=0;i<n;++i){
        cout<<"["<<i+1<<"]="<<a[i]<<" ";
    }
    cout<<endl;
    cout<<"Второй массив="<<endl;
    for(int i=0;i<n;++i){
        cout<<"["<<i+1<<"]="<<b[i]<<" ";
    }
}
0
Байт
Эксперт C
18100 / 11957 / 2483
Регистрация: 24.12.2010
Сообщений: 24,087
05.02.2017, 19:57 #3
Цитата Сообщение от no swear Посмотреть сообщение
C++
1
2
3
for(int i=0;i<n;++i){
* * * * if(a[i]==b[i])b[i]=0;
* * }
Вы заменяете одинаковые элементы, стоящие на одинаковых местах
Если я правильно понял, то из массивов
1 2 3 4 5
1 7 1 2 8
надо получить второй массив
0 7 0 0 8
0
lesha710
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 9
05.02.2017, 20:28  [ТС] #4
Спасибо
0
gogaloh
15 / 20 / 0
Регистрация: 14.03.2015
Сообщений: 605
05.02.2017, 20:40 #5
Цитата Сообщение от Байт Посмотреть сообщение
Вы заменяете одинаковые элементы, стоящие на одинаковых местах
Для меня тоже самое трудное понять задание. Добрый человек, хочу сделать надпись как во всех Ваших сообщениях, я имею ввиду:
"Если я не скажу того, что мог бы сказать, возможно, это не будет сказано никем и никогда."
0
no swear
166 / 144 / 76
Регистрация: 01.07.2016
Сообщений: 776
Завершенные тесты: 1
05.02.2017, 21:00 #6
Добавляем к 23 строчке ещё один цикл, получиться так:
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
#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int a[100],b[100];
    int n;
    cout<<"Введите размер массивов=";
    cin>>n;
    cout<<"Введите элементы первого массива="<<endl;
    for(int i=0;i<n;++i){
        cout<<"["<<i+1<<"]=";
        cin>>a[i];
    }
    cout<<endl;
    cout<<"Введите элементы второго массива="<<endl;
    for(int i=0;i<n;++i){
        cout<<"["<<i+1<<"]=";
        cin>>b[i];
    }
    for(int i=0;i<n;++i){
        for(int j=0;j<n;j++){
            if(a[i]==b[j])b[j]=0;
        }
    }
    cout<<endl;
    cout<<"Первый массив="<<endl;
    for(int i=0;i<n;++i){
        cout<<"["<<i+1<<"]="<<a[i]<<" ";
    }
    cout<<endl;
    cout<<"Второй массив="<<endl;
    for(int i=0;i<n;++i){
        cout<<"["<<i+1<<"]="<<b[i]<<" ";
    }
}
0
Байт
Эксперт C
18100 / 11957 / 2483
Регистрация: 24.12.2010
Сообщений: 24,087
05.02.2017, 23:28 #7

Не по теме:

Цитата Сообщение от gogaloh Посмотреть сообщение
хочу сделать надпись как во всех Ваших сообщениях
Я надеюсь, вы правильно понимаете смысл моего девиза. Это вовсе не выпендрежь. И вместо "я" можно поставить - каждый из нас. Но, согласитесь, звучать уже будет не так. А мысль простая - об уникальности каждого человека. И очень большая смысловая нагрузка лежит на слове возможно.
Однако, я вам не советую брать эти слова своим девизом. Могут подумать, что мы - клон:)



Добавлено через 12 минут
Цитата Сообщение от gogaloh Посмотреть сообщение
самое трудное - понять задание
Это и в самом деле не просто. Знаю по себе. Вот, приходит Заказчик, и чего-то хочет. Пальцами шевелит, даже какие-то звуки издает. А чего ему в самом деле надо - ни он не знает, ни я, тем более. И вот толкуем. Я, говорю, могу сделать то-то и то-то. А он мне - "хочу так и так". Я ему чего-то рисую - он пририсовывает. Так потихоньку привыкаем друг к другу. Проникаемся доверием. И я ему делаю нечто, о чем он даже и думал. Он пытается понять, а что ж ему в самом деле от меня было надо... Вот такой итерационный процесс...
При этом все задачи класса "Пойди туда - не знаю куда, принеси то - не знаю что". Ибо все другие задачи давно уже решены
0
gogaloh
15 / 20 / 0
Регистрация: 14.03.2015
Сообщений: 605
06.02.2017, 08:31 #8
Цитата Сообщение от Байт Посмотреть сообщение
Однако, я вам не советую брать эти слова своим девизом.
Слова будут другие, но как их установить?
0
Байт
Эксперт C
18100 / 11957 / 2483
Регистрация: 24.12.2010
Сообщений: 24,087
06.02.2017, 09:34 #9
Цитата Сообщение от gogaloh Посмотреть сообщение
как их установить?
Профиль. Слева меню. Подраздел "Настройки и параметры" - Редактировать подпись.
Может быть, чтобы иметь такую возможность, надо достичь определенного статуса (по количеству сообщений). Возможно, пока с вас не сняли нарушения, это тоже заблокировано.

Добавлено через 1 минуту
Помню, ходил тут раз в нарушителях. Так меня на это время лишили и подписи, и аватарки

Добавлено через 2 минуты
http://www.cyberforum.ru/about-forum/thread782784.html
0
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4931 / 1431
Регистрация: 29.11.2010
Сообщений: 13,358
06.02.2017, 13:56 #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
#include <unordered_set>
 
int main()
{
    int N, M, tmp;
    std::cout << "Size of first array: ";
    std::cin >> N;
    std::vector<int> v(N);
    for (auto &x : v)
        std::cin >> x;
    std::cout << "Size of second array: ";
    std::cin >> M;
    std::unordered_set<int> us(M);
    for (int i = 0; i < M && std::cin >> tmp; i++)
        us.insert(tmp);
    std::replace_copy_if(v.cbegin(), v.cend(), std::ostream_iterator<int>(std::cout, " "),
        [&us](const int x) { return std::find(us.cbegin(), us.cend(), x) != us.cend(); }, 0);
}
0
06.02.2017, 13:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2017, 13:56

Заменить элементы двухмерного массива нулями
Заменить все элементы k-й строки и k+1-го столбца двумерного массива...

Поменять местами первый и последний элементы. Все единичные элементы массива заменить нулями
Люди добрые, помогите плиз с задачками. В массиве Р, размерности 150 150....

В одномерном массиве все отрицательные элементы заменить нулями и упорядочить элементы массива по убыванию
В одновимірному масиві всі від’ємні елементи замінити нулями і впорядкувати...


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

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

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