cercare un vettore in un vettore [C++]

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Micheal_Scofield
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 837
Iscrizione: lunedì 11 gennaio 2010, 15:28

cercare un vettore in un vettore [C++]

Messaggio da Micheal_Scofield »

Sono nuovo del C++.

Vorrei cercare un vettore in un vettore com'è possibile farlo?

ho provato ad utilizzare la funzione search in questo modo:

Codice: Seleziona tutto

vector <char> dizionario;
vector<char>::iterator itDiz;
vector <char> search;
itDiz = search(dizionario.begin(), dizionario.end(), search.begin(), search.begin());
ma la funzione search mi restituisce questo errore:
Error: chiamata di un oggetto di un tipo di classe senza funzioni operatore() o di conversione appropriate da puntatore a funzione

cosa sbaglio?
grazie dell'aiuto
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: cercare un vettore in un vettore [C++]

Messaggio da vaeVictis »

Ad occhio e croce (vedi il post scriptum) credo dipenda solo dall'infelice scelta del nome del vettore da "trovare", che hai chiamato nello stesso modo di una funzione della libreria algorithm, che chiami direttamente per nome perché immagino (vedi il post scriptum) tu stia usando il namespace standard.
Infatti, facendo per esempio la ricerca della *stringa* "lmn" nell'alfabeto:

Codice: Seleziona tutto

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	char alfaArray[] = "abcdefghijklmnopqrstuvwxyz";
    vector<char> alfabeto(alfaArray, alfaArray + sizeof(alfaArray)-1);
	vector<char> toBeFound;
	vector<char>::iterator it1;
	toBeFound.push_back('l');
	toBeFound.push_back('m');
	toBeFound.push_back('n');
	it1 = search(alfabeto.begin(), alfabeto.end(), toBeFound.begin(), toBeFound.end());
	if(it1 != alfabeto.end()) {
		cout << "trovato in posizione " << (it1 - alfabeto.begin() + 1) << endl;
	} else {
		cout << "non trovato" << endl;
	}
    return 0;
}
hai:

Codice: Seleziona tutto

vaevictis@vaevictis-HAL:~/Programmazione/C++/RicercaDiVettoreInUnVettore$ g++ -Wall -pedantic -o RicercaDiVettoreInUnVettore RicercaDiVettoreInUnVettore.cpp 
vaevictis@vaevictis-HAL:~/Programmazione/C++/RicercaDiVettoreInUnVettore$ ./RicercaDiVettoreInUnVettore 
trovato in posizione 12

p.s.:
In futuro, quando posti un esempio di codice, cerca di rendere la vita semplice a chi vuole aiutarti, postando le librerie che usi e "tutto il resto" (ovvero un codice minimale che riproduca il problema in modo comprensibile).
Qui non si vedono le librerie che usi... e i vector sono vuoti :D
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Micheal_Scofield
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 837
Iscrizione: lunedì 11 gennaio 2010, 15:28

[Risolto] Cercare un vettore in un vettore [C++]

Messaggio da Micheal_Scofield »

il problema era proprio nella mancanza della libreria algorithm.
scusate la perdita di tempo e vi ringrazio molto!
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: [Risolto] Cercare un vettore in un vettore [C++]

Messaggio da vaeVictis »

Il miglior ringraziamento è un [Risolto] nel titolo del primo messaggio della discussione :)
:ciao:
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: cercare un vettore in un vettore [C++]

Messaggio da vaeVictis »

p.s.:
Il [Risolto] va nel titolo del primo messaggio della discussione :)
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti