Skip to content

Latest commit

 

History

History

task05_first_occurrence

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Задача 5. Первое вхождение C++23

Условие

Напишите функцию int* first_occurrence(int* arr, int n, int x, int* index), возвращающую для целочисленного массива arr длины n указатель на первое вхождение элемента x в массив и его индекс. Если элемента x нет в массиве — индекс равен -1, а функция должна вернуть nullptr.

Идея решения

Идём по массиву слева направо. При первом совпадении arr[i] == x записываем индекс в *index и возвращаем адрес &arr[i]. Если цикл завершился без совпадений — пишем -1 в *index и возвращаем nullptr.

Ввод

Сначала число n — количество чисел в массиве arr, затем n строк с элементами, затем число x, первое вхождение которого нужно найти.

Вывод

Индекс первого вхождения x в массив arr, а затем с помощью полученного указателя на этот элемент через пробел — элементы массива, начиная с x. Если элемента x нет в массиве — вывести только -1.

Пример

Ввод:

5
1
2
3
2
-1
2

Вывод:

1
2 3 2 -1

Как запустить

g++ -std=c++23 -O2 solution.cpp -o solution
./solution

Программа ждёт ввод с клавиатуры. Введи числа по одному, каждое с новой строки.

Ограничения

  • Время: 1 сек
  • Память: 64 МБ