Răspuns :
Răspuns:
#include <iostream>
#include <vector>
int main()
{
size_t dimensiuneVector;
std::vector<int> vectorNumere, vectorNumereCautate;
/* citim dimensiunea primului vector */
std::cout << "Introdu N: ";
std::cin >> dimensiuneVector;
vectorNumere.reserve(dimensiuneVector);
/* citim numerele în primul vector */
for (size_t i{}; i < dimensiuneVector; i++) {
int nrCitit;
std::cout << "vectorNumere[" << i << "] = ";
std::cin >> nrCitit;
vectorNumere.push_back(nrCitit);
}
/* citim dimensiunea la al doilea vector */
std::cout << "Introdu M: ";
std::cin >> dimensiuneVector;
vectorNumereCautate.reserve(dimensiuneVector);
/* citim numerele în al doilea vector */
for (size_t i{}; i < dimensiuneVector; i++) {
int nrCitit;
std::cout << "vectorNumereCautate[" << i << "] = ";
std::cin >> nrCitit;
vectorNumereCautate.push_back(nrCitit);
}
/* după luăm fiecare număr din al doilea vector */
for (size_t i{}; i < vectorNumereCautate.size(); i++) {
/* și îi căutăm poziția în primul vector */
for (size_t j{}; j < vectorNumere.size(); j++) {
/* dacă am găsit-o */
if (vectorNumereCautate.at(i) == vectorNumere.at(j)) {
/* afișăm index-ul din primul vector + 1 */
std::cout << j + 1 << " ";
break;
}
}
}
return 0;
}
Salut!
Rezolvare in C++ fara STL
#include <iostream>
using namespace std;
const int N = 500000, M = 100000;
unsigned int a[N + 1], b[M + 1];
int main()
{
int n, m;
cin >> n;
for (int i = 1; i <= n; ++i)
{
cin >> a[i];
}
cin >> m;
for (int i = 1; i <= m; ++i)
{
cin >> b[i];
}
for (int i = 1; i <= m; ++i)
{
for (int j = 1; j <= n; ++j)
{
if (b[i] == a[j])
{
cout << j << " ";
break;
}
}
}
return 0;
}
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!