87 lines
2.1 KiB
C++
87 lines
2.1 KiB
C++
#include "easyfind.hpp"
|
|
#include <deque>
|
|
#include <iostream>
|
|
#include <vector>
|
|
|
|
int main()
|
|
{
|
|
std::vector<int> vec = {1, 2, 3, 4, 5};
|
|
try
|
|
{
|
|
std::cout << "Testing with vector...\n";
|
|
std::cout << "Vector contents: ";
|
|
for (const auto &val : vec)
|
|
{
|
|
std::cout << val << " ";
|
|
}
|
|
std::cout << "\n";
|
|
|
|
std::cout << "Searching for value 3...\n";
|
|
int &found = easyfind(vec, 3);
|
|
std::cout << "Found: " << found << std::endl;
|
|
|
|
std::cout << "Modifying found value...\n";
|
|
found = 10; // Modify the found value
|
|
for (const auto &val : vec)
|
|
{
|
|
std::cout << val << " ";
|
|
}
|
|
std::cout << "\n";
|
|
}
|
|
catch (const std::out_of_range &e)
|
|
{
|
|
std::cerr << e.what() << std::endl;
|
|
}
|
|
|
|
try
|
|
{
|
|
std::cout << "Searching for value 6 (not in vector)...\n";
|
|
int ¬Found = easyfind(vec, 6);
|
|
std::cout << "Found: " << notFound << std::endl;
|
|
}
|
|
catch (const std::out_of_range &e)
|
|
{
|
|
std::cerr << e.what() << std::endl;
|
|
}
|
|
|
|
std::cout << "\n\nTesting with deque...\n";
|
|
|
|
std::deque<int> deq = {10, 20, 30, 40, 50};
|
|
try
|
|
{
|
|
std::cout << "Deque contents: ";
|
|
for (const auto &val : deq)
|
|
{
|
|
std::cout << val << " ";
|
|
}
|
|
std::cout << "\n";
|
|
std::cout << "Searching for value 30...\n";
|
|
int &foundInDeque = easyfind(deq, 30);
|
|
std::cout << "Found: " << foundInDeque << "\n";
|
|
std::cout << "Modifying found value...\n";
|
|
foundInDeque = 100; // Modify the found value
|
|
for (const auto &val : deq)
|
|
{
|
|
std::cout << val << " ";
|
|
}
|
|
std::cout << "\n";
|
|
}
|
|
catch (const std::out_of_range &e)
|
|
{
|
|
std::cerr << e.what() << std::endl;
|
|
}
|
|
|
|
try
|
|
{
|
|
std::cout << "Searching for value 60 (not in deque)...\n";
|
|
int ¬FoundInDeque = easyfind(deq, 60);
|
|
std::cout << "Found: " << notFoundInDeque << std::endl;
|
|
}
|
|
catch (const std::out_of_range &e)
|
|
{
|
|
std::cerr << e.what() << std::endl;
|
|
}
|
|
|
|
return 0;
|
|
}
|