C++ cine știe :)
1. Să se scrie o funcție de înserare a unui element (se citește de la tastatură) în vector astfel încit după operația de înserare vectorul să fie ordonat.
2. Să se scrie doua variante de ștergere a unui element din vector: a) indicând poziția acestuia în vector;
b) după valoare citită de la terminal. .
Răspunsuri la întrebare
Răspuns:
void Insert(std::vector<int>& vector, int number)
{
vector.push_back(number);
if (vector.size() > 1)
{
AscendingSort(vector);
}
}
void AscendingSort(std::vector<int>& vector)
{
std::sort(vector.begin(), vector.end(), [](int a, int b) {return a < b; });
}
void RemoveByPosition(std::vector<int>& vector, int position)
{
vector.erase(vector.begin() + position);
}
void RemoveByValue(std::vector<int>& vector, int value)
{
auto it = std::find(vector.begin(), vector.end(), value);
if (it != vector.end())
{
vector.erase(it);
}
else
{
std::cout << "Elementul nu se afla in vector." << std::endl;
}
}
void main()
{
std::vector<int> vector;
int number;
std::cin >> number;
Insert(vector, number);
std::cin >> number;
Insert(vector, number);
std::cin >> number;
Insert(vector, number);
std::cin >> number;
Insert(vector, number);
RemoveByPosition(vector, 0);
RemoveByValue(vector, number);
}
Explicație: