
Напишите программу, которая упорядочивает массив по убыванию и ищет в нем все значения, равные
введенному числу. c++

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

Ответ:
Смотри - у тебя есть массив и введенное число.
Тебе надо сначала найти максимум в массиве и передвинуть влево, и продолжать искать максимумы в массиве, не включая первый элемент.
С введенным числом не очень понимаю - надо индексы значений просто вывести, которые равны введенному числу или как? Условие не полное.
Надеюсь помог!



Конечно! Вот пример программы на C++, которая сортирует массив по убыванию и ищет все значения, равные заданному числу:
cpp#include <iostream>
#include <vector>
#include <algorithm>
// Функция для сортировки массива по убыванию
void sortDescending(std::vector<int>& arr) {
std::sort(arr.begin(), arr.end(), std::greater<int>());
}
// Функция для поиска значений, равных заданному числу
std::vector<int> findEqualValues(const std::vector<int>& arr, int target) {
std::vector<int> result;
for (int num : arr) {
if (num == target) {
result.push_back(num);
}
}
return result;
}
int main() {
int size;
std::cout << "Введите размер массива: ";
std::cin >> size;
std::vector<int> arr(size);
std::cout << "Введите элементы массива: ";
for (int i = 0; i < size; i++) {
std::cin >> arr[i];
}
int target;
std::cout << "Введите число для поиска: ";
std::cin >> target;
// Сортировка массива по убыванию
sortDescending(arr);
// Поиск значений, равных заданному числу
std::vector<int> equalValues = findEqualValues(arr, target);
// Вывод результатов
std::cout << "Отсортированный массив по убыванию: ";
for (int num : arr) {
std::cout << num << " ";
}
std::cout << "\nЗначения, равные " << target << ": ";
if (equalValues.empty()) {
std::cout << "Отсутствуют";
} else {
for (int num : equalValues) {
std::cout << num << " ";
}
}
return 0;
}
В этой программе мы сначала вводим размер массива и его элементы с помощью стандартного ввода std::cin
. Затем мы вводим число, которое хотим найти в массиве.
Далее используется функция sortDescending
, которая сортирует массив по убыванию с помощью std::sort
и компаратора std::greater<int>()
.
Затем мы вызываем функцию findEqualValues
, которая ищет значения, равные заданному числу, и сохраняет их в новом векторе.
В конце программа выводит отсортированный массив по убыванию и значения, равные заданному числу.
Надеюсь, это поможет вам! Если у вас возникнут еще вопросы, пожалуйста, дайте мне знать.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili