Вопрос задан 23.02.2019 в 10:06. Предмет Информатика. Спрашивает Сибагатова Оксана.

С++ Напишите программу, которая выводит номера элементов массива, равных заданному значению X .

Входные данные Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. В третьей строке записано число X . Гарантируется, что 0 < N ≤ 10000 . Выходные данные Программа должна вывести в одной строке номера элементов массива, равных X , разделив их пробелами. Предполагается, что нумерация начинается с единицы. Если таких элементов нет, нужно вывести число -1.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Визжалов Даниил.
#include<iostream>#include<stdlib.h>using namespace std;int main(){ int n,i,j=0,k; cin>>n;  int a[n]; for(i=0;i<n;i++) { cin>>a[i]; } int X; cin>>X; int W[n]; for(i=0;i<n;i++) { if(a[i]==X) { W[j]=i; j++; }   } for(i=0;i<j;i++) cout<<W[i]<<" ";}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи можно использовать следующий алгоритм:

1. Считываем размер массива N. 2. Считываем элементы массива и сохраняем их в массиве arr. 3. Считываем число X. 4. Создаем пустой массив indexes для хранения номеров элементов, равных X. 5. Проходим по каждому элементу arr и проверяем, равен ли он X. Если равен, добавляем его номер в массив indexes. 6. Если массив indexes пустой, выводим -1. Иначе, выводим элементы массива indexes, разделяя их пробелами.

Ниже приведена реализация данного алгоритма на языке программирования C++:

```cpp #include #include

int main() { int N; std::cin >> N; std::vector arr(N); for (int i = 0; i < N; i++) { std::cin >> arr[i]; } int X; std::cin >> X; std::vector indexes; for (int i = 0; i < N; i++) { if (arr[i] == X) { indexes.push_back(i + 1); } } if (indexes.empty()) { std::cout << -1; } else { for (int i = 0; i < indexes.size(); i++) { std::cout << indexes[i] << " "; } } return 0; } ```

Пример работы программы: Входные данные: ``` 5 1 2 3 2 1 2 ``` Выходные данные: ``` 2 4 ```

В данном примере размер массива N равен 5, элементы массива arr равны [1, 2, 3, 2, 1], и число X равно 2. Программа находит номера элементов массива, равных 2, и выводит их: 2 и 4.

0 0

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

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

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