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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
LoGaNShtorM
1 / 1 / 0
Регистрация: 22.01.2013
Сообщений: 63
#1

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

17.05.2013, 21:00. Просмотров 1601. Ответов 8
Метки нет (Все метки)

Помогите пожалуйста решить пару задач :3

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

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

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

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

Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать вывести исходные - C++
Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать...

Сравнить два массива и запомнить номер первых двух совпавших элементов - C++
нужно сравнить два массива,например 1:23,19,26,18,22,11 и запомнить номер первых двух совпавших элементов... ...

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

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

8
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);
}
1
LoGaNShtorM
1 / 1 / 0
Регистрация: 22.01.2013
Сообщений: 63
22.05.2013, 15:56  [ТС] #3
Помогите пожалуйста решить

Заданы два массива целых чисел одинаковой размерности. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. Сделать эту задачу с функцией.
0
Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
22.05.2013, 16:24 #4
Цитата Сообщение от LoGaNShtorM Посмотреть сообщение
Заданы два массива целых чисел одинаковой размерности.
Массивы одномерные или это неизвестно?
0
Мимино
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];
    
    }
 
}
И результат:
0
Миниатюры
Заданы два массива. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов.  
Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
22.05.2013, 17:30 #6
Цитата Сообщение от LoGaNShtorM Посмотреть сообщение
Сравнить соответствующие элементы массивов...
Ммм... значит ли это, что нужно было искать не просто повторяющиеся элементы в массивах, а повторяющиеся элементы, которые еще и стоят на одинаковых позициях?
0
LoGaNShtorM
1 / 1 / 0
Регистрация: 22.01.2013
Сообщений: 63
22.05.2013, 20:49  [ТС] #7
Мимино, видимо да, хотя я думаю что и так пойдёт
спасибо за помощь
0
LoGaNShtorM
1 / 1 / 0
Регистрация: 22.01.2013
Сообщений: 63
23.05.2013, 01:51  [ТС] #8
Заданы два массива целых чисел одинаковой размерности. Сравнить соответствующие элементы массивов и вывести на экран массив, состоящий из совпавших элементов. Сделать эту задачу с Загруженной функцией.
0
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;
}
0
23.05.2013, 10:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2013, 10:05
Привет! Вот еще темы с ответами:

Даны два массива. Сформируйте массив С, состоящий из общих элементов массива А и В - C++
Даны два массива: массив А из n элементов и массив В из m элементов. Сформируйте массив С, состоящий из общих элементов массива А и В. ...

Заданы два массива. Первым на печать вывести массив, сумма значений которого окажется наименьшей - C++
Ребят помогите пожалуйста , завтра зачет , почти все задания сделал , а 3 последние так и не понял Задание 1. Написать...

Вывести новый массив состоящий из элементов начального массива в заданной зависимости - C++
1.Нужно ввести размерность начального одномерного массива c клавиатуры. Элементы заполняются с помощью rand(); #include &lt;time.h&gt; ...

Объединить два массива одинаковой длины в третий массив, чередуя элементы первого и второго массивов - C++
Даны два одинаковых по длине одномерные массивы. Объединить их в третий массив, чередуя элементы первого и второго массивов.


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

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

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