Вопрос задан 22.10.2018 в 18:07. Предмет Информатика. Спрашивает Арефьев Алексей.

Спасите плиз, найти количество одинаковых элементов в двух массивах, я ввожу массивы и вывожу их на

экран,, а что писать что бы найти количество общих? #include #include #include #include int main() { setlocale(LC_ALL, "Russian"); const int N = 100, K = 101; float x[N], y[K]; int i, j, n, r; printf("Количкство элементов первого массива x(п): "); scanf("%d", &n); printf("Введи элементы первого массива: \n"); for (i = 0; i < n; i++) { printf("x[%d]: ", i); scanf("%f", &x[i]); } printf("Количкство элементов второго массива y (п): "); scanf("%d", &r); printf("Введи элементы второго массива: \n"); for (j = 0; j < r; j++) { printf("y[%d]: ", j); scanf("%f", &y[j]); } for (i = 0; i < n; i++) //вывод массива на экран { printf("%.2f\n\n", x[i]); } printf("-----\n"); for (j = 0; j < r; j++) //вывод массива на экран { printf("%.2f\n\n", y[j]); } system("pause"); }
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Герасимчик Наташа.
Элементарно ватсон, делаете два цикла по проходу по элементам массивов, псевдокод:
for ( int i = 0; i < sizeOfFirstMass; ++i ) {
     for ( int j = 0; j < sizeOfSecondMass; ++j ) {
        if (a[ i ] == b[ j ])             
        
   cout << a [ i ] << " ";
     }
}
но элементы могут повторяться, так как тут нет контроля над уже найденными совпадениями
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для нахождения количества одинаковых элементов в двух массивах, вы можете использовать следующий код на языке C++:

```cpp #include #include

int main() { setlocale(LC_ALL, "Russian"); const int N = 100, K = 101; float x[N], y[K]; int i, j, n, r; int count = 0;

std::cout << "Количество элементов первого массива x(п): "; std::cin >> n; std::cout << "Введи элементы первого массива:\n"; for (i = 0; i < n; i++) { std::cout << "x[" << i << "]: "; std::cin >> x[i]; }

std::cout << "Количество элементов второго массива y (п): "; std::cin >> r; std::cout << "Введи элементы второго массива:\n"; for (j = 0; j < r; j++) { std::cout << "y[" << j << "]: "; std::cin >> y[j]; }

std::unordered_set set_x(x, x + n); for (j = 0; j < r; j++) { if (set_x.count(y[j]) > 0) { count++; } }

std::cout << "Количество общих элементов: " << count << std::endl;

return 0; } ```

Этот код использует стандартную библиотеку C++ `unordered_set`, чтобы эффективно находить общие элементы в двух массивах. Он считывает элементы двух массивов и затем использует `unordered_set` для хранения уникальных элементов первого массива `x`. Затем он проходит по второму массиву `y` и проверяет, есть ли элемент в `unordered_set`. Если элемент присутствует, увеличивается счетчик `count`. В конце выводится количество общих элементов.

Примечание: Ваш исходный код содержит некоторые ошибки, такие как неправильное использование оператора `+=` вместо `=`, неправильное использование `&` вместо `&`, а также отсутствие включения необходимых заголовочных файлов. В предложенном коде эти ошибки исправлены.

Надеюсь, это поможет вам решить вашу задачу! Если у вас есть еще вопросы, пожалуйста, дайте мне знать.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос