Практическая работа №2. Библиотека stl. Контейнеры. Последовательные контейнеры array, vector, list, forward list, deque
Download 0.94 Mb.
|
музаффаров ислом
- Bu sahifa navigatsiya:
- Задание 1. Выполнить следующее
ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦЫОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛ-ХОРАЗМИЙ Группа: SWD207-1 4-лабораторная работа По предмету: Программирование II Выполнил:Музаффаров Ислом. Приняла: Xaydarova Marxamat. САМОСТОЯТЕЛЬНАЯ ПРАКТИЧЕСКАЯ РАБОТА №2. Библиотека STL. Контейнеры. Последовательные контейнеры array, vector, list, forward_list, deque. Задание 1. Выполнить следующее: 1. Создать объект-контейнер в соответствии с вариантом задания и заполнить его данными в указанном количестве и в интервале с помощью генератора случайных чисел , тип которых определяется вариантом задания. 2. Вывести содержимое контейнера на экран. 3. Изменить контейнер, удалив из него (см. таб. пункт 3) элемент 4. Затем в конец добавит (см. таб. Пункт 4.) элемент. 5. Вывести содержимое контейнера на экран, используя для доступа к его элементам итераторы. 6. Изменить первый контейнер, удалив из него 3 элемента начиная с N -го элемента (например, если N=2, то начиная c 2 элемента, т.е. 2-ой, 3-ий и 4-тые элементы должны быт удалены.). 7. Создать второй контейнер этого же класса (c размерностью 1-го после выполнения 6 пункта) и заполнить его данными того же типа, что и первый контейнер. 8. Сравнить оба контейнера. 9. Меньшее из них добавит к в конец большего. 10. Просмотрет оба контейнера. Задание 1. Выполнить следующее: 1. Создать объект-контейнер в соответствии с вариантом задания и заполнить его данными в указанном количестве и в интервале с помощью генератора случайных чисел , тип которых определяется вариантом задания. 2. Просмотреть контейнер. 3. Изменить контейнер, удалив из него (см. таб. ) элемент 4. Затем в конец добавит (см. таб.) элемент. 5. Просмотреть контейнер, используя для доступа к его элементам итераторы. 6. Изменить первый контейнер, удалив из него N-7 элементов до заданного N (если N>8) или N+3 элементов после заданного N. 7. Создать второй контейнер этого же класса (c размерностью 1-го после выполнения 6 пункта) и заполнить его данными того же типа, что и первый контейнер. 8. Сравнить оба контейнера. 9. Меньшее из них добавит к в конец большего. 10. Просмотрет оба контейнера. #include #include #include #include #include #include #include std::vector { std::vector std::random_device rd; std::uniform_real_distribution std::mt19937 eng( std::random_device{}( ) ); for ( auto i = 0; i < size; ++i ) { v[i] = dist( eng ); } return v; } void print_vector( const std::vector { std::cout << std::endl << msg << ":\n"; for ( auto it = v.begin( ); it != v.end( ); ++it ) { std::cout << *it << " "; } std::cout << std::endl; } int main( int argc, char ** argv ) { setlocale( LC_ALL, "ru" ); const size_t vector_size = 25; const size_t N = 4; const double min = -100; const double max = 100; // 1. и 2. std::vector print_vector( vec, "Сгенерированный вектор" ); // 3.
auto del_pos = std::next( vec.begin(), del_index ); vec.erase( del_pos ); // 4.
vec.push_back( min_elem ); // 5.
// 6.
// 7.
// 8. и 9.
// 10.
print_vector( new_vec, "Второй вектор после сравнения" ); return 0; } Задание 2. 12. Используя динамический массив vector составьте программу для замены максимального и минимального элементов массива. #include #include using namespace std; int main() {
vector int size = arr.size(); // сдвигаем элементы на n позиций влево for (int i = 0; i < n; i++) { int temp = arr[0]; for (int j = 0; j < size - 1; j++) { arr[j] = arr[j + 1]; } arr[size - 1] = temp; } // выводим результат cout << "Shifted array: "; for (int i = 0; i < size; i++) { cout << arr[i] << " "; } cout << endl; return 0; } Download 0.94 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling