- •Лабораторная работа 1
 - •Лабораторная работа 2 Переменные и константы. Базовые типы. Арифметические операции
 - •Операции
 - •Ввод и вывод данных
 - •Лабораторная работа 3 Циклический и ветвящийся поток управления
 - •Алгоритмы разветвляющейся структуры
 - •Операторы выбора
 - •Операторы циклов
 - •Операторы перехода
 - •Задание
 - •Лабораторная работа 4 Функции. Вызов функций с формальными параметрами, передаваемыми по значению
 - •Задание
 - •Лабораторная работа 5 Одномерные массивы
 - •Задание
 - •Лабораторная работа 6 Многомерные массивы
 - •Задание
 - •Лабораторная работа 7 Функции для работы с символами
 - •Лабораторная работа 8 Строки, литералы. Передача строк в функции
 - •Строки и литералы
 - •Библиотечные функции для работы со строками
 - •Выделение памяти под строки
 - •Передача строк в качестве параметров функций
 - •Задание
 - •Лабораторная работа 9 Указатели и динамические массивы
 - •Задание
 - •Варианты
 - •Лабораторная работа 10 Динамические структуры данных
 - •Структуры и указатели
 - •Задание
 - •Лабораторная работа 11 Объектно-ориентированное программирование. Создание классов и объектов
 - •Задание
 - •Лабораторная работа 12 Знакомство со средой быстрой разработки приложений. Использование компонент библиотеки vcl
 - •Лабораторная работа 13 Вывод в форму результатов работы программы
 - •Лабораторная работа 14 Изучение обработчиков событий компонентов библиотеки vcl
 - •Лабораторная работа 15 Использование таймера для создания различных эффектов
 - •Лабораторная работа 16 Рисование в канве. Построение графиков функций
 - •Лабораторная работа 17 Изучение принципа работы текстового редактора
 - •Список рекомендуемой литературы
 - •Оглавление
 
Задание
Запустите C++Builder.
Составьте программу в соответствии с вашим вариантом задания (таблица), используя двумерный массив. Размеры массива задайте сами. Сделайте три варианта программы. В первом элементы массива определяются в программе, во втором задаются пользователем, а в третьем заполняются с помощью генератора случайных чисел. Исходный и конечный массивы выведите на экран.
Выполните компиляцию программы. При наличии ошибок внести исправления.
Сдайте отчет преподавателю.
Варианты
| 
			 №  | 
			 Задача  | 
| 
			 1  | 
			 Поменять содержимое строк и столбцов в массиве  | 
| 
			 2  | 
			 Поставить строки в обратном порядке  | 
| 
			 3  | 
			 Вычислить сумму значений элементов массива  | 
| 
			 4  | 
			 Заменить недиагональные элементы матрицы нулями  | 
| 
			 5  | 
			 Заполнить массив по следующему правилу. Числа на диагонали, идущей из правого верхнего в левый нижний угол равны 1; числа, стоящие выше этой диагонали, равны 0; числа, стоящие ниже этой диагонали, равны 2  | 
| 
			 6  | 
			 Проверить, является ли массив симметричным относительно главной диагонали  | 
| 
			 7  | 
			 Найти максимальный элемент в массиве  | 
| 
			 8  | 
			 Вычислить квадрат каждого элемента массива  | 
| 
			 9  | 
			 Определить количество строк в массиве, которые содержат элемент с заданным значением  | 
| 
			 10  | 
			 Заменить недиагональные элементы массива элементами с заданным значением  | 
| 
			 11  | 
			 Поменять местами первый и последний столбцы  | 
| 
			 12  | 
			 К диагональным элементам массива прибавить заданное число  | 
| 
			 13  | 
			 Вычислить разность значений элементов массива  | 
| 
			 14  | 
			 Поменять местами главную и побочную диагонали в матрице  | 
| 
			 15  | 
			 Найти количество элементов в массиве, имеющих значение выше заданного  | 
| 
			 16  | 
			 Поменять местами соседние строки  | 
| 
			 17  | 
			 Элементы матрицы, расположенные ниже побочной диагонали, умножить на заданное число  | 
| 
			 18  | 
			 Поставить столбцы в обратном порядке  | 
Продолжение табл.
| 
			 №  | 
			 Задача  | 
| 
			 19  | 
			 Найти минимальный элемент в массиве  | 
| 
			 20  | 
			 Заменить диагональные элементы матрицы нулями  | 
| 
			 21  | 
			 Определить количество столбцов в массиве, которые содержат элемент с заданным значением  | 
| 
			 22  | 
			 Заменить диагональные элементы массива числами от 0 до 4  | 
| 
			 23  | 
			 Элементы матрицы, расположенные выше главной диагонали, сложить с заданным числом  | 
| 
			 24  | 
			 Определить количество столбцов в массиве, которые содержат элемент с заданным значением  | 
| 
			 25  | 
			 Вычислить произведение значений элементов массива  | 
Лабораторная работа 7 Функции для работы с символами
Цель работы – освоить работу и основные манипуляции с различными символами.
Теория
В файле <ctype.h> собраны объявления функций (таблица), которые позволяют определить, к какому классу относится тот или иной символ.
Имена всех функций проверки принадлежности начинаются с is. Все эти функции ожидают один аргумент типа int (анализируемый символ должен быть неотрицательным, то есть, перед проверкой должен быть приведен к типу unsigned char). Возвращают все эти функции тоже int, ненулевое значение означает принадлежность к соответствующему классу.
| 
			 Функция  | 
			 Описание  | 
| 
			 isalpha(c)  | 
			 Возвращает 1, если с – буква, и 0, если с – любой другой символ  | 
| 
			 islower(c)  | 
			 Возвращает 1, если с – буква нижнего регистра, и 0, если с – буква верхнего регистра либо другой символ  | 
| 
			 isupper(c)  | 
			 Возвращает 1, если с – буква верхнего регистра, и 0, если с – буква нижнего регистра либо другой символ  | 
| 
			 isdigit(c)  | 
			 Возвращает 1, если с – цифра, и 0, если с – любой другой символ  | 
| 
			 isxdigit(c)  | 
			 Возвращает 1, если с – шестнадцатеричная цифра, и 0, если с – любой другой символ  | 
| 
			 isalnum(c)  | 
			 Возвращает 1, если с – буква или цифра, и 0, если с – любой другой символ  | 
| 
			 iscntrl(c)  | 
			 Возвращает 1, если с – управляющий символ (например, \n), и 0 – в противном случае  | 
| 
			 isprint(c)  | 
			 Возвращает 1, если с – печатаемый символ, и 0 – в противном случае  | 
| 
			 isgraph(c)  | 
			 Возвращает 1, если с – печатаемый и видимый символ, и 0 – в противном случае; отличается от isprint() тем, что не включает в себя символ пробела  | 
| 
			 ispunct(c)  | 
			 Возвращает 1, если с – символ пунктуации, и 0 – в противном случае  | 
Продолжение табл.
| 
			 Функция  | 
			 Описание  | 
| 
			 isspace(c)  | 
			 Возвращает 1, если с – символ пробела, и 0 – в противном случае  | 
| 
			 tolower(c)  | 
			 Переводит символ с из верхнего регистра в нижний  | 
| 
			 toupper(c)  | 
			 Переводит символ с из нижнего регистра в верхний  | 
Работа функций основана на анализе ASCII-кодов символов.
Задание
Запустите C++Builder.
Составьте программу, в которой с клавиатуры вводится и обрабатывается в соответствии с вариантом задания (таблица) некоторый символ. Используйте приведенные выше функции работы со символами.
Выполните компиляцию программы. При наличии ошибок внесите исправления.
Сдайте отчет преподавателю.
Варианты
| 
			 №  | 
			 Задача  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ буквой  | 
| 
			 | 
			 Перевести символ в нижний регистр, если он является буквой в вернем регистре  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ цифрой  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ знаком препинания  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ пробелом  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ управляющим  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ буквой нижнего регистра  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ печатаемым  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ шестнадцатеричной цифрой  | 
Продолжение табл.
| 
			 №  | 
			 Задача  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ буквой верхнего регистра  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ печатаемым и видимым  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ буквой или цифрой  | 
| 
			 | 
			 Перевести символ в верхний регистр, если он является буквой в нижнем регистре  | 
| 
			 | 
			 Умножить число на 10, если пользователь ввел цифру  | 
| 
			 | 
			 Вывести символ на экран, если он является печатаемым и видимым  | 
| 
			 | 
			 Если пара введенных символов – цифры, вывести на экран их сумму  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ пробелом  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ шестнадцатеричной цифрой  | 
| 
			 | 
			 Вывести символ на экран, если он является буквой или цифрой  | 
| 
			 | 
			 Перевести символ в нижний регистр, если он является буквой в вернем регистре  | 
| 
			 | 
			 Прибавить к числу 2, если пользователь ввел цифру  | 
| 
			 | 
			 Вывести символ на экран, если он является буквой  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ знаком препинания  | 
| 
			 | 
			 Для введенного пользователем символа определить, является ли этот символ пробелом  | 
| 
			 | 
			 Если пара введенных символов – цифры, вывести на экран их произведение  | 
