Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
LoGaNShtorM
1 / 1 / 0
Регистрация: 22.01.2013
Сообщений: 63
17.05.2013, 21:00     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. #1
Помогите пожалуйста решить пару задач :3

Заданы два массива целых чисел одинаковой размерности. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов.Эту задачу нужно сделать с функцией, после переделать её с перегруженной функцией, а после с шаблоном.

Заранее спасибо :3
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2013, 21:00     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов.
Посмотрите здесь:

Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать вывести исходные C++
C++ Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные C++
Сравнить два массива и запомнить номер первых двух совпавших элементов C++
C++ Заданы два массива А(5) и И(4). Первым на печать вывести массив, содержащий наибольшее значение. Напечатать также это значение и его порядковый номер
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
17.05.2013, 21:19     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. #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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <iomanip>
using std::cout;
using std::endl;
using std::setw;
using std::left;
 
const int N=8;
 
void fnc(int *arr1,int *arr2)
{
    for (int i=0;i<N;i++)
    {
        if (arr1[i]==arr2[i])
            cout<<setw(2)<<left<<arr1[i];
    }
    cout<<endl;
}
void fnc(long *arr1,long *arr2)
{
    for (int i=0;i<N;i++)
    {
        if (arr1[i]==arr2[i])
            cout<<setw(2)<<left<<arr1[i];
    }
    cout<<endl;
}
 
template <typename T>
void tfnc(T *arr1,T* arr2)
{
    for (int i=0;i<N;i++)
    {
        if (arr1[i]==arr2[i])
            cout<<setw(2)<<left<<arr1[i];
    }
    cout<<endl;
}
 
int main()
{
    int arr1i[N]={1,2,3,4,5,6,7,8};
    int arr2i[N]={3,2,4,4,5,7,9,0};
    fnc(arr1i,arr2i);
 
    long arr1l[N]={1,2,3,4,5,6,7,8};
    long arr2l[N]={3,2,4,4,5,7,9,0};
    fnc(arr1l,arr2l);
 
    tfnc(arr1i,arr2i);
    tfnc(arr1l,arr2l);
}
LoGaNShtorM
1 / 1 / 0
Регистрация: 22.01.2013
Сообщений: 63
22.05.2013, 15:56  [ТС]     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. #3
Помогите пожалуйста решить

Заданы два массива целых чисел одинаковой размерности. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. Сделать эту задачу с функцией.
Мимино
 Аватар для Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
22.05.2013, 16:24     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. #4
Цитата Сообщение от LoGaNShtorM Посмотреть сообщение
Заданы два массива целых чисел одинаковой размерности.
Массивы одномерные или это неизвестно?
Мимино
 Аватар для Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
22.05.2013, 17:24     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. #5
В общем, как то так:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
 
void arrayPrint(int [], int);                   // прототип функции, которая печатает массив
void reiteration(int [], int [], int[], int);   // прототип функции, которая ищет дубли
 
int main()
{
    setlocale(LC_ALL, "Russian");               // разрешаем кириллицу в консоле
    const int arraySize = 20;                   // размер массивов
    int array1[arraySize], array2[arraySize];   // объявления исходных массивов
    int reiter[arraySize] = {0};                // массив, в который будут записываться дубли
 
    srand(time(NULL));                          // зерно псевдослучайности
 
    for (int i = 0; i < arraySize; i++)         // заполняем исходные массивы случайными числами от 1 до 99
    {
        array1[i] = 1 + rand() % 99;            
        array2[i] = 1 + rand() % 99;
    }
 
    cout << "Массив 1:" << endl;
 
    arrayPrint(array1, arraySize);              // выводим на экран исходные массивы с помощью функции arrayPrint
 
    cout << endl << endl << "Массив 2:" << endl;
 
    arrayPrint(array2, arraySize);
 
    reiteration(array1, array2, reiter, arraySize); // вызываем функцию, которая ищет дубли и записывает их в 3-й массив
 
    cout << endl << endl;
    system("pause");                            // "стопаем" окно консоли
    return 0;
}
 
 
void reiteration(int a1[], int a2[], int re[], int size)
{
    static int x = 0;                           // "размер" 3-го массива
 
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
            if (a1[i] == a2[j])                 // находим совпадения и записываем их в 3-й массив
            {
                re[x] = a1[i];
                x++;
            }
    }
 
    cout << endl << endl << "Массив 3:" << endl;
 
    arrayPrint(re, x);                          // выводим на экран 3-й массив при помощи функции arrayPrint
}
 
 
void arrayPrint(int a[], int size)              // тут должно быть все понятно. Печатаем массив
{
    for (int i = 0; i < size; i++)
    {
        if (i % 5 == 0 && i > 0)
            cout << endl;
        cout << setw(3) << a[i];
    
    }
 
}
И результат:
Миниатюры
Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов.  
Мимино
 Аватар для Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
22.05.2013, 17:30     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. #6
Цитата Сообщение от LoGaNShtorM Посмотреть сообщение
Сравнить соответствующие элементы массивов...
Ммм... значит ли это, что нужно было искать не просто повторяющиеся элементы в массивах, а повторяющиеся элементы, которые еще и стоят на одинаковых позициях?
LoGaNShtorM
1 / 1 / 0
Регистрация: 22.01.2013
Сообщений: 63
22.05.2013, 20:49  [ТС]     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. #7
Мимино, видимо да, хотя я думаю что и так пойдёт
спасибо за помощь
LoGaNShtorM
1 / 1 / 0
Регистрация: 22.01.2013
Сообщений: 63
23.05.2013, 01:51  [ТС]     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. #8
Заданы два массива целых чисел одинаковой размерности. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. Сделать эту задачу с Загруженной функцией.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2013, 10:05     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов.
Еще ссылки по теме:

Сравнить соответствующие элементы каждой пары массивов C++
Заданы два массива. Первым на печать вывести массив, сумма значений которого окажется наименьшей C++

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

Или воспользуйтесь поиском по форуму:
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
23.05.2013, 10:05     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. #9
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 <iostream>
using namespace std;
int main()
{
    const int N=5;
    int k=0,m=0;
    int arr1[N],arr2[N];
    for(int i=0;i<N;i++)
    {
        cout<<"arr1["<<i<<"]: ";
        cin>>arr1[i];
    }
    for(int i=0;i<N;i++)
    {
        cout<<"arr2["<<i<<"]: ";
        cin>>arr2[i];
    }
    for(int i=0;i<N;i++)
    {
        if(arr1[i]==arr2[i])k++;
    }
    int *p=new int[k];
    for(int i=0;i<N;i++)
    {
        if(arr1[i]==arr2[i])
        {
            p[m]=arr1[i];m++;
        }
    }
    for(int i=0;i<k;i++)
    {
        cout << "p["<<i<<"]: "<< p[i]<<endl;
    }
    system("pause");
    return 0;
}
Yandex
Объявления
23.05.2013, 10:05     Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов.
Ответ Создать тему
Опции темы

Текущее время: 04:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru