Dev - C++ - Como funciona find() en este código?

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Como funciona find() en este código?

Publicado por Lucas (1 intervención) el 09/09/2019 15:31:53
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <algorithm> //for find()
using namespace std;
int arr[] = { 11, 22, 33, 44, 55, 66, 77, 88 };
int main()
{
	int* ptr;
	ptr = find(arr, arr+8, 33); //find first 33
	cout << "First object with value 33 found at offset "
		<< (ptr-arr) << endl;
	return 0;
}

Mi probema es por qué (ptr-arr) devuelve el número encontrado correcto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Como funciona find() en este código?

Publicado por Alfil (1444 intervenciones) el 09/09/2019 20:15:16
1
ptr = find(arr, arr+8, 33); //find first 33

puntero ptr = encontrar posición entre(primer elemento de arr, último elemento de arr (arr+8), elemento buscado).

Al ser ptr un puntero, arr es la primera posición y arr+8 la última.

1
2
cout << "First object with value 33 found at offset "
		<< (ptr-arr) << endl;

Da como resultado 2, que es la posición donde se encuentra el elemento buscado, ten en cuenta que en un array la posición empieza a contar desde 0.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar