методичка. метода по ООП для практики. Лабораторная работа 1. Линейный вычислительный процесс 2 Общие теоретические сведения 2 Создание оконного приложения 6
Скачать 1.1 Mb.
|
6.3. Индивидуальные заданияНаписать программу по обработке динамических массивов. Размеры массивов вводить с клавиатуры. При создании оконного приложения скалярный (простой) результат выводить в виде компоненты Label, а массивы вводить и выводить с помощью компонент StringGrid, в которых 0-й столбец и 0-ю строку использовать для отображения индексов массивов. 1. Из матрицы размером NM получить вектор B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, иначе 1. 2. Из матрицы размером NM получить вектор B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по убыванию, иначе 0. 3. Из матрицы размером NM получить вектор B, присвоив его k-му элементу значение 1, если k-я строка матрицы симметрична, иначе значение 0. 4. Задана матрица размером NM. Определить количество «особых» элементов матрицы, считая элемент «особым», если он больше суммы остальных элементов своего столбца. 5. Задана матрица размером NM. Определить количество элементов матрицы, у которых слева находится элемент больше его, а справа – меньше. 6. Задана матрицаразмером NM. Определить количество различных значений матрицы, т.е. повторяющиеся элементы считать один раз. 7. В матрице размером NM упорядочить строки по возрастанию их первых элементов. 8. В матрице размером NM упорядочить строки по возрастанию суммы их элементов. 9. В матрице размером NM упорядочить строки по возрастанию их наибольших элементов. 10. Определить, является ли квадратная матрица симметричной относительно побочной диагонали. 11. Задана матрица размером NM. Определить количество элементов матрицы, у которых слева находится элемент меньше его, а справа – больше. 12. В квадратной матрице найти произведение элементов, лежащих выше побочной диагонали. 13. В квадратной матрице найти максимальный среди элементов, лежащих ниже побочной диагонали. 14. В матрице размером NM поменять местами строку, содержащую элемент с наибольшим значением со строкой, содержащей элемент с наименьшим значением. 15. Из матрицы размером nполучить матрицу размером n-1 путем удаления строки и столбца, на пересечении которых расположен элемент с наибольшим по модулю значением. 16. В матрице размером n найти сумму элементов, лежащих ниже главной диагонали, и произведение элементов, лежащих выше главной диагонали. Лабораторная работа №7. Использование строкЦель работы: изучить особенности строковых данных, правила работы с компонентами ListBox и СomboBox. Написать и отладить программу работы со строками. 7.1. Общие теоретические сведенияСтроки как одномерные массивы символовВ языке С/С++ строка – это одномерный массив символов, заканчивающийся нулевым байтом, каждый бит которого равен нулю, при этом для нулевого байта определена константа ´\0´ (признак окончания строки или нуль-терминатор). Для строки, состоящей из 80 символов, в описании массива необходимо указать размер 81, т.к. последний байт отведится под нуль-терминатор. Напомним, что строковая константа – это набор символов, заключенных в кавычки, например, “Лабораторная работа по строкам” (´\0´ не указывается). Строки можно инициализировать при декларации, например: char S1[10] = ”123456789”, S2[ ] = ”12345”; в последнем случае размер строки устанавливается по фактическому количеству. Операции над строками рекомендуется выполнять с использованием стандартных библиотечных функций, рассмотрим наиболее часто используемые функции библиотеки string.h: 1) strcpy(S1, S2) – копирует содержимое строки S2 в строку S1; 2) strcat(S1, S2) – присоединяет строку S2 к строке S1 и помещает ее в массив, где находилась строка S1, при этом строка S2 не изменяется; нулевой байт, который завершал строку S1, заменяется первым символом строки S2; 3) strcmp(S1, S2) – сравнивает строки S1 и S2 и возвращает значение =0, если строки равны, т.е. содержат одно и то же число одинаковых символов; значение <0, если S1<S2; и значение >0, если S1>S2. 4) strlen(S) – возвращает длину строки, т.е. количество символов, начиная с первого (S[0]) и до нуль-терминатора, который не учитывается. 5) strstr(S1, S2) – указывает первое появление подстроки S2 в строке S1. 6) преобразование строки S в число (библиотека stdlib.h): целое – (int) atoi(S); длинное целое – (long) atol(S); действительное – (double) atof(S); при возникновении ошибки данные функции возвращают значение 0; 7) преобразование числа V в строку S: целое – itoa(int V, char S, int kod); длинное целое – ltoa(long V, char S, int kod); значение параметра kod определяет выбор системы счисления для преобразования и находится в диапазоне 2kod36, для отрицательных чисел kod= 10. |