Практическая работа №2. Библиотека stl. Контейнеры. Последовательные контейнеры array, vector, list, forward list, deque
Download 1.33 Mb.
|
эля
- Bu sahifa navigatsiya:
- Задание 1. Выполнить следующее
ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦЫОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛ-ХОРАЗМИЙ Группа: SWD207-1 лабораторная работа По предмету: Программирование 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 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 = 30; const size_t N = 4; const double min = 100; const double max = 500; // 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. 4. Используя статический массив array составьте программу для добавления элемента в конец массива. #include using namespace std; int main() { int arr[5] = {1, 2, 3, 4, 5}; // статический массив из 5 элементов int newElement = 6; // новый элемент, который нужно добавить в конец массива int size = sizeof(arr) / sizeof(arr[0]); // вычисляем размер массива arr[size] = newElement; // добавляем новый элемент в конец массива size++; // увеличиваем размер массива на 1 // выводим все элементы массива for (int i = 0; i < size; i++) { cout << arr[i] << " "; } return 0; } Download 1.33 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling