Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_8_метод_указания.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
622.59 Кб
Скачать

Примеры Использование контейнера vector и его итераторов для вычисления диапазона копирования элементов массива

#include <vector>

#include <algorithm>

int main()

{

int beginRange, endRange;

int arr[] = { 11, 13, 15, 17, 19, 21, 23, 25, 27, 29 };

vector<int> v1(arr, arr+10); // инициализация вектора v1

vector<int> v2(10); // инициализация вектора v2

cout << "Enter range to be copied (example: 2 5): ";

cin >> beginRange >> endRange;

vector<int>::iterator iter1 = v1.begin() + beginRange;

vector<int>::iterator iter2 = v1.begin() + endRange;

vector<int>::iterator iter3;

// копирование диапазона от v1 до v2

iter3 = copy( iter1, iter2, v2.begin() );

//iter3 – указание на элемент, следующий за последним

iter1 = v2.begin();

while(iter1 != iter3)

cout << *iter1++ << ' ';

cout << endl;

_getch();

return 0;

}

Использование контейнера vector при сортировке строк

#include <string>

#pragma warning (disable:4786) //Microsoft only

#include <vector>

#include <algorithm>

int main()

{

vector<string> vectStrings;

string word;

char ch;

do {

cout << "Enter a word: ";

cin >> word; //ввод слова

vectStrings.push_back(word); //добавление слова в массив

cout << "Enter another ('y' or 'n'): ";

cin >> ch;

} while(ch == 'y');

sort( vectStrings.begin(), vectStrings.end() );//сортировка массива

for(int k=0; k<vectStrings.size(); k++) //вывод строк

cout << vectStrings[k] << endl;

_getch();

return 0;

}

Использование контейнера vector при считывании чисел из файла

Программа считывает числа из файла, сортирует их по возрастанию и выводит на экран. Для формирования последовательности чисел используем контейнер vector. Сортировка элементов выполняется с использованием алгоритма sort.

#include <vector>

#include <algorithm>

#include <fstream>

int main() {

ifstream in ("num.txt"); //открытие потока для ввода

if (!in) {cerr << "File not found\n"; _getch(); exit(1);}

vector<int> v; //создаем пустой контейнер из чисел

int x;

while (in >> x) v.push_back(x); //ввод чисел из файла и размещение // в конец контейнера

vector<int>::const_iterator i; //определение константного итератора

for (i=v.begin(); i!=v.end(); i++) //массив до сортировки

cout << *i << " ";

cout << "\n";

sort(v.begin(), v.end()); //вызов алгоритма сортировки для всего диапазона

for (i=v.begin(); i!=v.end(); i++) //массив после сортировки

cout << *i << " ";

cout << endl;

_getch();

return 0;

}

Использование контейнера vector при считывании строк из файла

Программа считывает строки из файла, сортирует их по возрастанию и выводит на экран. Для формирования последовательности строк используем контейнер vector. Сортировка элементов выполняется с использованием алгоритма sort.

#include <vector>

#include <algorithm>

int main() {

ifstream in ("num.txt"); //открытие потока для ввода

if (!in) {cerr << "File not found\n"; _getch(); exit(1);}

vector<string> sv; //создаем пустой контейнер из строк

string s;

while (in >> s) sv.push_back(s); //ввод строк из файла и размещение

//в конец контейнера

for (int k=0; k<sv.size(); k++) //массив строк до сортировки

cout << sv[k] << endl;

cout << "\n";

sort(sv.begin(), sv.end()); //вызов алгоритма сортировки в диапазоне

for (int k=0; k<sv.size(); k++) //массив строк после сортировки

cout << sv[k] << endl;

cout << endl;

_getch();

return 0;

}