Основы программирования на C++, PASCAL

Навигация

ГЛАВА 1. ОСНОВЫ АЛГОРИТМИЗАЦИИ

ГЛАВА 2. ВВЕДЕНИЕ В ЯЗЫКИ ПРОГРАММИРОВАНИЯ

ГЛАВА 3. ПРОГРАММИРОВАНИЕ НА ПАСКАЛЕ

ГЛАВА 4. ЯЗЫК ПРОГРАММИРОВАНИЯ СИ++

ГЛАВА 5. МЕТОДЫ ПОСТРОЕНИЯ АЛГОРИТМОВ

ГЛАВА 6. ЗАДАЧИ ПО ПРОГРАММИРОВАНИЮ

ПРИЛОЖЕНИЯ

СПИСОК ЛИТЕРАТУРЫ

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

1 2 3 4 5 6 7 8 9 10

Многомерные массивы. Двумерный массив трактуется как одномерный массив, элементами которого является массив с указанным в описании типом элементов. Например, оператор

float R[5][10];

объявляет массив из пяти элементов, каждый из которых есть массив из десяти вещественных чисел. Отдельные величины этого массива обозначаются именами с двумя индексами: R[0] [0], R[0][l], ..., R[4][9]. Объединять индексы в одну пару скобок нельзя, т. е. запись R[2,3] ошибочна. Пример описания трехмерного массива:

double X[3] [7] [20];

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

При описании многомерных массивов их также можно инициализировать. Делать это удобно так:

int M[3][3]={11,12,13,

21,22,23,

31,32,33};

Рассмотрим примеры программ обработки матриц — числовых двумерных массивов.

Пример 4. Вычисление и вывод на экран таблицы умножения в форме матрицы Пифагора.


По данной программе в двумерном массиве а не будут заполнены нулевая строка и нулевой столбец. По-прежнему интерпретируем первый индекс двумерного массива как номер строки матрицы, а второй индекс — как номер столбца.

Пример 5. Заполнение матрицы случайными числами в диапазоне от 0 до 99 и поиск в ней максимального значения.


В результате тестирования этой программы получен следующий результат:


В данной программе имеются новые элементы, использование которых требует пояснения. В стандартной библиотеке с заголовочным файлом stdlib.h содержится функция, прототип которой имеет вид: int rand(void).

Результатом этой функции является целое случайное число из диапазона от 0 до RAND_MAX. Значение константы RAND_MAX определено в заголовочном файле stdlib.h и обычно равно 32767 — максимально допустимому целому числу. Для получения случайных чисел в диапазоне от 0 до N — 1 достаточно вычислить остаток от целого деления rand() на N. Функция с прототипом void randomize (void) выполняет первоначальную настройку датчика случайных чисел так, чтобы последовательность чисел не повторялась при повторном выполнении программы.