Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования C++ (Практикум, часть 1).doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
5.28 Mб
Скачать

Пространство имен std

Стандартная библиотека языка С++ пребывает в собственном пространстве имен std. По этой причине большинство программ содержат директиву

using namespace std;

Этот оператор открывает прямой доступ к функциям и классам, определенным внутри библиотеки, поэтому квалификатор std:: не нужен. Можно явно указывать квалификатор std:: .

Рассмотрим пример программы, в которой стандартная библиотека не включается в глобальное пространство имен.

// Листинг 13.4

#include<iostream>

// Применение явного квалификатора std::

int main()

{

setlocale(LC_CTYPE,"Russian");

int n;

std::cout << "Введите число: ";

std::cin>>n;

std::cout<<"Вы ввели "<<n<<std::endl;

return 0;

}

Здесь потоки cout, cin и манипулятор endl сопровождаются указанием квалификатора std::.

Задание. Написать на языке С++ программу, которая вычисляет и выводит на экран в виде таблиц значения функций F1(x) и F2(x) на интервале -2π≤x≤e с шагом dx, где π=3.14159265358979323846, e=2.71828182845904523536. Функции F1(x) и F2(x) выбираются согласно варианту. Значение dx вводится с клавиатуры. Включить функции F1 и F2, константы π и e в пространство имен Library. Программа должна состоять из трех модулей, содержащих интерфейсную часть, реализацию и клиентский код.

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

Вариант 11

Вариант 12

Вариант 13

Вариант 14

Вариант 15

Приложение 1. Простые алгоритмы сортировки одномерных массивов

Сортировка посредством прямого выбора

Пусть в массиве A содержится n элементов. Требуется отсортировать массив по возрастанию. Алгоритм сортировки посредством прямого выбора заключается в последовательных проходах по неотсортированным элементам массива и выбору при каждом проходе очередного минимального элемента из оставшихся. По массиву A необходимо выполнить n–1 проход. В 0-вом проходе выбирается наименьший элемент из A[0]…A[n–1], который меняется местами с A[0]. После этого неупо­рядоченными остаются элементы A[1]…A[n–1]. В следующем проходе просматривается эта неупорядоченная часть элементов массива, выбирается наименьший из них элемент и меняется местами с A[1]. В следующем проходе производится поиск наименьшего элемента в подмассиве A[2]…A[n–1]. Найденное значение меняется местами с A[2]. В результате выполнения n–1 прохода неупорядоченный фрагмент массива сокращается до одного элемента, который и является наибольшим.

В i-том проходе сканируется подмассив A[i]…A[n–1] и переменной minIndex присваивается индекс наименьшего элемента в этом подмассиве. Затем элементы A[i] и A[minIndex] меняются местами.

Рассмотрим сортировку по возрастанию посредством выбора на примере массива, содержащего пять целых чисел: 9, 3, 5, 10, 7. Упорядочим массив по возрастанию. Число элементов в массиве n = 5, проходов требуется n–1 = 4.

Исходный массив А:

0

1

2

3

4

9

3

5

10

7

0-проход: сканируется фрагмент A[0]…A[4],

minIndex = 1, A[0]↔A[1]

0

1

2

3

4

3

9

5

10

7

1-проход: сканируется фрагмент A[1]…A[4],

minIndex = 2, A[1] ↔A[2]

0

1

2

3

4

3

5

9

10

7

2-проход: сканируется фрагмент A[2]…A[4],

minIndex = 4, A[2] ↔A[4]

0

1

2

3

4

3

5

7

10

9

3-проход: сканируется фрагмент A[3]…A[4],

minIndex = 4, A[3] ↔A[4]

0

1

2

3

4

3

5

7

9

10

Массив A отсортирован по возрастанию.