Lab 8
Lab 8
Lab 8
Лабораторна робота №8
Тема: Стандартна бібліотека шаблонів
Варіант: 5
Викладач: Пікуляк М.
В.
Івано-Франківськ – 2023
Задача
У відсортованому списку товарів, який містить код продуктів, на
всіх позиціях, які кратні трійці, вставити значення 0. Вставлені
виводити іншим кольором для зручності користувачів. Після цього
поміняти місцями перший та останній елементи в списку товарів.
реалізувати задачу двома способами:
- за допомогою контейнера вектор;
- використавши одномірний динамічний масив.
За допомогою контейнера вектор.
int main()
{
setlocale(LC_ALL, "Rus");
vector <int> vector(10);
std::vector <int>::iterator it;
int num = 0;
GenerateVector(vector);
sort(vector.begin(), vector.end());
RemoveElements(vector);
cout << "Масив пiсля видалення кожного другого елементу:\n";
ShowNewVector(vector);
swap(vector.at(0), vector.at(13));
void GenerateVector(vector<int>&vector)
{
//srand(time(0));
for (int i = 0; i < vector.size(); i++) {
vector.at(i) = rand() % 31;
}
}
void ShowVector(vector<int>&vector)
{
for (int i = 0; i < vector.size(); i++)
{
cout << vector.at(i) << " ";
}
cout << "\n\n";
if (i % 3 == 0)
{
vector.insert(it, num);
}
}
}
int main() {
setlocale(LC_ALL, "Rus");
int size = 10;
int n = size / 3 + 1;
int* arr = new int[size];
GenerationArray(arr, size);
cout << "Згенерований масив:\n";
ShowArray(arr, size);
SortArray(arr, size);
cout << "Масив пiсля сортування:\n";
ShowArray(arr, size);
cout << "Масив пiсля вставки елементiв\n";
int* newArr = Insert(arr, size, n);
ShowArray(newArr, size + n);
newArr = Delete(newArr, size + n);
cout << "Масив пiсля видалення кожного другого елементу:\n";
ShowArray(newArr, size + n / 2);
SwapElements(newArr, size, n);
cout << "Масив пiсля перестановки мiсцями першого та останього елемента:\n";
ShowArray(newArr, size + n / 2);
delete[] newArr;
}
void GenerationArray(int* arr, int size)
{
//srand(time(0));
for (int i = 0; i < size; i++)
{
arr[i] = rand() % 101;
}
}
void ShowArray(int* arr, int size)
{
for (int i = 0; i < size; i++)
{
if (arr[i] == 0)
{
SetConsoleTextAttribute(colors, 12);
}
else
{
SetConsoleTextAttribute(colors, 15);
}
cout << arr[i] << " ";
}
cout << "\n\n";
}
void SortArray(int* arr, int size)
{
int temp;
for (int a = 0; a < size; a++)
{
for (int i = size - 1; i > a; i--)
{
if (arr[i] < arr[i - 1])
{
temp = arr[i];
arr[i] = arr[i - 1];
arr[i - 1] = temp;
}
}
}
}
int* Insert(int* arr, int size, int n)
{
newArr[Newindex] = arr[oldIndex];
}
return newArr;
}