С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
2 / 2 / 0
Регистрация: 20.02.2017
Сообщений: 36
1

Определить количество элементов массива А, совпадающих хотя бы с одним элементом массива В

28.09.2018, 22:01. Показов 4792. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны два одномерных массива А(М), B(N). Определите количество элементов массива А, совпадающих хотя бы с одним элементом массива В.
Формат входных данных. [M] [1-й элемент массива A] [2-й элемент массива A] и т.д. [N] [1-й элемент массива B] [2-й элемент массива B] и т.д. Элементы массивов – целые числа в диапазоне ±1000. M и N - целые числа в диапазоне [2, 20].
Формат выходных данных. [кол-во совпадающих элементов].
Рекомендуемое кол-во циклических операторов (без ввода и вывода данных): 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <stdio.h>
#include "stdafx.h"
#include <windows.h>
#include "testing.h"
int main()
{
    TESTING
    const int A=20;
    int mass[A];
    int number1, colvo;
    
    const int B=20;
    int mass1[B];
    int number2, colvo2;
    printf ("Введите размер первого массива: ");
    scanf ("%d", &colvo);
    if (colvo <=20 && colvo >= 2)
    {
        for (int i=0; i<colvo; i++)
        {
            printf ("Введите %d элемент первого массива: ", i);
            scanf ("%d", &number1);
            if (number1 < 1000 && number1 > -1000)
            {
                mass[i]=number1;
            }
            else
            {
                printf ("error 505, size number1");
                return 0;
            }
        }
    }
    else 
    {
        printf ("error 504, size colvo");
        return 0;
    }
    printf ("Введите размер второго массива: ");
    scanf ("%d", &colvo2);
    if (colvo2 <=20 && colvo2 >= 2)
    {
        for (int i=0; i<colvo2; i++)
        {
            printf ("Введите %d элемент второго массива: ", i);
            scanf ("%d", &number2);
            if (number2 < 1000 && number2 > -1000)
            {
                mass1[i]=number2;
            }
            else
            {
                printf ("error 405, size number2");
                return 0;
            }
        }
    }
    else 
    {
        printf ("error 404, size colvo2");
        return 0;
    }
/*  int i, chislo, perm, perm1;
    if (colvo < colvo2)
    {
        for (i=0; i<colvo; )
        {
            for (int j=0; j<colvo2; j++)
            {
                if (mass[i] == mass1[j])
                {
                    chislo = mass[i];
                    perm = i;
                    perm1 = j;
                    break;
                }
            }
            i++;
        }
    }
    if (colvo > colvo2)
    {
 
    }
    if (colvo == colvo2)
    {
 
    }
    int size_c=0, i;
    for (i=0; i < colvo;)
    {
        for (int j=0; j < colvo2; j++)
        {
            if (mass[i]==mass1[j])
            {
            size_c++;
            }
        }
        i++;
    }
 
    printf ("Максимально совпадающих чисел = %d", size_c);
*/
    WAIT_ANY_KEY
    return 0;
}
не обращайте внимание на закоментированное, это просто наброски мыслей, помогите пожалуйста продумать план построения, код писать не обязательно но если уж вам захочется то попрошу как можно упрощённо и легче, поймите я не про специалист что бы понять то что вы напишите, к примеру x-=1, желательно x=x-1, ну просто поймите для меня лучше лишние 100 строк написать но что бы было для меня ясно и понятно и что бы я мог это объяснить преподавателю которому я это покажу. А то сколько я не просил помощи на этой сайте все пишут как профессионалы что я потом голову ломаю что за каракули вы написали)))

Добавлено через 10 минут
Пример: mass[10]={1, 2, 10, 30, 1, 2, 1, 2, 4, 1}
mass2[3]= {1, 10, 3}
Правильно: 2 одинаковых элемента, тобишь тут есть для отвода глаз как бы
Не правильно: 5 совпадений, но в задании указано [ХОТЯ БЫ С ОДНИМ ЭЛЕМЕНТОМ], я с преподом разговаривал он тоже сказал что правильно 2 совпадения
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2018, 22:01
Ответы с готовыми решениями:

Массивы. Используя сортировку массива, определить количество элементов, совпадающих по значению с максимальным
имеется вот такой код программы) нужно сделать так чтобы вызывалась функция /*Задан...

Вывести на экран номера всех элементов массива, не совпадающих с максимальным элементом
Помогите решить используя одномерный массив) Дана последовательность из n действительных чисел....

Найти количество нулей среди элементов массива, расположенных между минимальным и максимальным элементом массива.
Программу по нахождению количества нулевых элементов в массиве составила а как сделать так чтобы...

Определить номер первого из элементов массива X, совпадающих с A
X - массив, состоящий из 100 числовых элементов. Должен выдавать номер первого из элементов...

5
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.09.2018, 00:51 2
AlexeyJB, для такого условия:
Цитата Сообщение от AlexeyJB Посмотреть сообщение
Определите количество элементов массива А, совпадающих хотя бы с одним элементом массива В.
для вашего примера правильный ответ будет: 5 т.к. значения (1,1,1,1,10) - это элементы массива A

ответ: 2 - это для такого условия:
Определите количество уникальных элементов массива А, совпадающих хотя бы с одним элементом массива В.

по какому условию Вам нужно делать задачу ?
0
2 / 2 / 0
Регистрация: 20.02.2017
Сообщений: 36
29.09.2018, 11:36  [ТС] 3
Yetty, ну я же говорю я с преподавателем беседовал и он направил меня на меня на первый случай, где правильным считается 2 совпадения если смотреть на эту задачу.
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.09.2018, 11:47 4
AlexeyJB, я прочёл, что Вы беседовали с преподавателем. т.е. аргументированно сообщить ему другое мнение - это явно на Ваш конёк, я Вас правильно понимаю ? ещё раз: Вам нужно решение задачи по условию задачи или решение по мнению преподавателя (нахождение уникальных элементов) ?
0
2 / 2 / 0
Регистрация: 20.02.2017
Сообщений: 36
29.09.2018, 14:04  [ТС] 5
Yetty, Решение по мнению преподавателя я думаю будет лучше.
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.09.2018, 15:34 6
AlexeyJB, применяйте динамические массивы, т.к. размер массивов не известен заранее, а задаётся с клавиатуры. использование статических в этом случае не по стандарту С++.
вот код для условия задачи (не условия преподавателя):
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
#include <iostream>
using namespace std;
 
int main()
{
    int M, N, k, count=0;
    
    cin >>M;
 
    int*A = new int[M];
    int*B = new int[N];
    
    for (int i = 0; i < M; i++)
      cin >>A[i];
      
    cin >>N;
    
     for (int i = 0; i < N; i++)
      cin >>B[i];
    
    for (int i = 0; i < M; i++)
    {
      k=0;
      for (int j = 0; j < N; j++)
      if (A[i]==B[j]) {k++; break;}
      if (k!=0) count++;
    }  
    
    cout <<count<<endl;
      
    delete[]A;
    delete[]B;
system("pause");
return 0;
}
Цитата Сообщение от AlexeyJB Посмотреть сообщение
Решение по мнению преподавателя я думаю будет лучше.
вариант преподавателя напишите его самостоятельно. без использования STL алгоритм такой: сначала выбираете уникальные элементы - сортируете массив, сравниваете элементы попарно, при равенстве удаляете второй элемент пары, а дальше - предложенный выше вариант.
0
29.09.2018, 15:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2018, 15:34
Помогаю со студенческими работами здесь

Найти сумму элементов в строках матрицы с хотя бы одним отрицательным элементом
Найти сумму элементов в строках с хотя бы одним отрицательным элементом. Код: //CeMuHaP 3....

количество четных элементов одномерного массива до числа равному а, Определить количество нечетных элементов двумерного массива
1.Найти количество четных элементов одномерного массива до первого встреченного числа равного...

Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y
Записать положительные элементы массива X=(x1,x2,…, xn) подряд в массив Y=(y1,y2,…, yk)....

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru