Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
liberty_
0 / 0 / 0
Регистрация: 05.05.2018
Сообщений: 35
1

Вывести одинаковые элементы двух массивов

04.11.2018, 23:59. Просмотров 808. Ответов 2
Метки нет (Все метки)

Подскажите, пожалуйста.
Надо вывести на экран одинаковые элементы 2 массивов. Как правильно сделать?
Если что, вот моя ерундистика, которую я пыталась сделать:


C
1
2
3
4
5
6
7
8
    for(i=0; i < SIZE; ++i)
{
   for (j=0; j < SIZE; ++j)
 {
    if(array[i]==array[j])
         printf("the same:  %d\n ",array[i],array[j] );
 
 }}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2018, 23:59
Ответы с готовыми решениями:

Определить и вывести одинаковые элементы матрицы
помогите сделать через препроцессоры задачу задача звучит так дана матрица порядка N*M узнать...

Сортировка третьего массива, включающего элементы двух предыдущих массивов
Даны два массива. Построить третий массив, который включает элементы двух предыдущих. Отсортировать...

Функция: проверить, совпадают ли соотвтствующие элементы двух символьных массивов
Написать функцию, которая получает в качестве параметра 2 массива литерного типа и формирует массив...

Вывести результат о равенстве двух динамических массивов
Написать программу, которая выводит результат о равенстве двух динамических массивов. Функция...

Вывести элементы массива из многозначных чисел, значения которых содержат 2 одинаковые цифры.
Очень нужна подсказка! Добавлено через 40 минут #include &lt;stdlib.h&gt; #include &lt;time.h&gt; int...

2
stake-k26
541 / 413 / 324
Регистрация: 25.04.2016
Сообщений: 1,197
05.11.2018, 00:30 2
Лучший ответ Сообщение было отмечено liberty_ как решение

Решение

размеры массивов совпадают? Если да, то брать i-тый элемент массива 1 и сравнивать его с i-тым элементом массива 2, например:

C
1
2
for (i=0; i<n; i++)
    if (arr1[i] == arr2[i]) printf("... совпали\n");
но это только при условии, что размеры массивов одинаковые. Так же стои учитывать, что этот код сравнивает элементы только в одинаковых позициях, т.е. если первый элемент первого массива совпадает с первым элементом второго.. Если же нужно просто найти все одинаковые элементы, то стоит воспользоваться кодом для массивов разных размеров.

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

Допустим, a[] и b[] - это наши массивы, при этом в массиве a[] N элементов, а в массиве b[] M элементов, тогда:

C
1
2
3
for (i=0; i<N; i++)
    for (k=0; k<M; k++)
        if (a[i] == b[k]) printf("совпадение\n");
Вместо совпадения вы спокойно можете вывести на экран все, что угодно, например выводить элемент массива.
1
liberty_
0 / 0 / 0
Регистрация: 05.05.2018
Сообщений: 35
05.11.2018, 18:17  [ТС] 3
Что я делаю не так? Не получается

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define SIZE (15)
#define MIN_VAL (-150)
#define MAX_VAL (20)
#define brand() ( rand() % ( MAX_VAL - MIN_VAL + 1 ) + MIN_VAL )
 
int main(void) {
    int array[SIZE], i,j;
 
    for ( i = 0; i < SIZE; ++i )
        array[i] = brand();
    printf("Array1:\n");
    for ( i = 0; i < SIZE; ++i )
        printf("%4d", array[i]);
    printf("\n");
 
 
        for ( j = 0; j < SIZE; ++j )
        array[j] = brand();
    printf("Array2:\n");
    for ( j = 0; j < SIZE; ++j )
        printf("%4d", array[j]);
    printf("\n");
 
 
for (i=0; i<SIZE; i++)
    for (j=0; j<SIZE; j++)
        if (array[i] == array[j]) printf("sovpadenie:\n");
 
        return 0;
}
Добавлено через 2 часа 54 минуты
Всё получилось теперь, спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2018, 18:17

В третем массиве росположить самые большие элементы двух ранних массивов
даны два одномерных массива из двух массивов сделать третий, в третем массиве росположить самые...

Создать третий массив, в котором нужно собрать общие элементы двух массивов
Элементы, которые есть только в массиве А или только в массиве В, заполнить ими массив C. Всё...

Создать третий массив, в котором нужно собрать общие элементы двух массивов
Даны два массива: A и B. Необходимо создать третий массив, в котором нужно собрать общие элементы...


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

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

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