Составьте код на С++ Создайте массив из 10 ячеек заполнив его случайными числами от 1 до 10 (включительно). Предложите пользователю с клавиатуры ввести ключ и выведите совпадения ключа со значением ячеек в массиве, используя линейный поиск.​

Троцкий1 Троцкий1    2   12.12.2020 09:24    15

Ответы
steshagoncharov steshagoncharov  09.01.2024 12:57
Хорошо, я с радостью помогу вам составить код на языке C++, который выполнит описанную задачу. Вот подробное решение с пояснениями:

```cpp
#include
#include // для генерации случайных чисел

int main() {
const int size = 10; // размер массива
int arr[size]; // объявление массива
int key; // объявление переменной для хранения ключа
int matches = 0; // переменная для подсчета количества совпадений
bool found = false; // флаг для указания, найдено совпадение или нет

// заполнение массива случайными числами от 1 до 10
for (int i = 0; i < size; i++) {
arr[i] = rand() % 10 + 1;
}

// вывод значений массива для проверки
std::cout << "Массив: ";
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;

// ввод ключа с клавиатуры
std::cout << "Введите ключ: ";
std::cin >> key;

// линейный поиск совпадений ключа в массиве
for (int i = 0; i < size; i++) {
if (arr[i] == key) {
matches++; // увеличиваем счетчик совпадений
std::cout << "Совпадение найдено в позиции " << i+1 << std::endl;
found = true; // устанавливаем флаг совпадения
}
}

// вывод результата поиска
if (found) {
std::cout << "Всего найдено " << matches << " совпадений." << std::endl;
} else {
std::cout << "Совпадений не найдено." << std::endl;
}

return 0;
}
```

Позвольте мне пояснить некоторые моменты кода:

1. Мы используем библиотеку `` для ввода и вывода данных, а `` для генерации случайных чисел.

2. Мы объявляем константу `size`, чтобы указать размер массива в 10 ячеек.

3. Мы объявляем массив `arr` типа `int` с размером `size`.

4. Мы объявляем переменную `key` для хранения введенного пользователем ключа.

5. Мы объявляем переменную `matches` для подсчета количества совпадений ключа со значениями в массиве.

6. Мы объявляем переменную `found` типа `bool`, чтобы указать, найдено совпадение или нет.

7. Мы используем цикл `for` для заполнения массива случайными числами от 1 до 10 с помощью функции `rand()` и оператора остатка от деления.

8. Мы используем еще один цикл `for` для вывода значений массива для проверки.

9. Мы просим пользователя ввести ключ и сохранить его в переменной `key`.

10. Мы используем еще один цикл `for` для выполнения линейного поиска. Если значение ячейки массива равно ключу, увеличиваем счетчик совпадений и выводим информацию о позиции совпадения. Также устанавливаем флаг `found` в значение `true`, если найдено хотя бы одно совпадение.

11. В завершение, мы выводим общее количество найденных совпадений или сообщение о том, что совпадений не найдено.

Это полное решение для вашей задачи. Надеюсь, оно будет понятным и полезным для вас!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика