- •Часть 1
- •Часть 1
- •Введение
- •Лабораторная работа № 1 разработка схем алгоритмов
- •Краткая теория Этапы решения задач на эвм
- •Определение алгоритма и способы его описания
- •Правила оформления схем алгоритмов
- •Типы алгоритмов
- •Задания
- •Построение схем алгоритмов с помощью текстового редактора word
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 2 работа в среде netbeans. Создание простейших программ с линейным алгоритмом
- •Краткая теория Установка ide NetBeans
- •Общие правила создания приложений
- •Работа с проектом NetBeans
- •Пример создания простейшего приложения
- •Общие правила построения класса
- •Типы данных
- •Объявление переменных
- •Оператор присваивания
- •Приведение типов
- •Организация ввода данных
- •Организация вывода данных
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 3 разработка простейших приложений на базе разветвляющихся алгоритмов
- •Краткая теория Средства переименования в среде NetBeans
- •Отладка кода в среде NetBeans
- •Условный оператор if-else
- •Условный оператор switch
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 4 разработка программ с циклами со счетчиком
- •Краткая теория Циклы со счетчиком
- •Особенности алгоритмов и программ с накапливанием
- •Методы класса Math
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5 работа с итерационными циклами. Одномерные массивы
- •Краткая теория Итерационные циклы
- •Цикл while
- •Цикл do-while
- •Одномерные массивы
- •Подсчет суммы, количества и среднего значения в одномерных массивах
- •Нахождение минимума и максимума
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 6 алгоритмы сортировки и разбиения одномерных массивов
- •Краткая теория Сортировка одномерных массивов
- •Разбиение одномерных массивов
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 7 обработка двумерных массивов
- •Краткая теория Понятие многомерных массивов. Ввод и вывод матриц
- •Типовые алгоритмы обработки матриц
- •Алгоритмы обработки матриц в целом
- •Алгоритмы обработки матриц по строкам и столбцам
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 8 диагонали матрицы, умножение матриц
- •Краткая теория Обработка главной и побочной диагоналей матриц
- •Работа с диагоналями матриц выше и ниже главной/побочной
- •Умножение матриц
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 9 обработка строк класса string
- •Краткая теория Создание объектов класса String
- •Методы класса String
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 10 алгоритмы и программы обработки фрагментов строк класса string
- •Краткая теория Сравнение символов строк класса String
- •Типовые задачи обработки массивов строк (слов из текста)
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 11 разработка алгоритмов и программ с использованием классов StringBuffer/StringBuilder
- •Краткая теория Создание и обработка объектов классов stringbuffer и stringbuilder
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 12 разработка собственных методов
- •Краткая теория Общие правила создания методов класса
- •Описание методов класса
- •Вызов методов класса
- •Передача параметров
- •Содержание
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Библиографический список
- •Программирование на Java
- •443100, Г. Самара, ул. Молодогвардейская, 244. Главный корпус
- •443100, Г. Самара, ул. Молодогвардейская, 244. Корпус № 8
Алгоритмы обработки матриц по строкам и столбцам
Наиболее часто встречаются задачи, в которых требуется вычислить суммы, максимальные (минимальные) элементы каждой строки и столбца матрицы и расположить их в конце строки и столбца соответственно.
Задача 7.3. Ввести матрицу а размерностью m*n. Выполнить следующие операции:
– подсчитать суммы элементов по строкам и вывести исходную матрицу, а в конце каждой строки – сумму.
– подсчитать суммы элементов по столбцам и вывести исходную матрицу и соответствующие суммы под каждым столбцом.
Общий алгоритм:
1. Ввести матрицу а.
2. Вывести матрицу а построчно.
3. Подсчитать суммы в строках и вывести их вместе с матрицей.
4. Подсчитать суммы в столбцах.
5. Вывести матрицу с суммами по столбцам.
6. Закончить.
Алгоритм с уточненными пунктами 3 и 4:
1. Ввести матрицу а.
2. Вывести матрицу а построчно.
// подсчет в строках
3. Для номера строки i от 0 до a.length:
3.1. Принять сумма sum = 0 // сумма строки
3.2. Для номера столбца j от 0 до a[i].length
вывести элемент a[i][j]
вычислить sum+=a[i][j];
3.3. Вывести sum.
// подсчет в столбцах
4.1. Создать массив sumStl для хранения сумм элементов столбцов.
4.2. Для номера столбца j от 0 до a[0].length:
4.2.1. Принять сумма sumStl [j] = 0 // сумма j-того столбца
4.2.2. Для номера строки i от 0 до a.length
вычислить sumStl [j]+=a[i][j];
5.1. Вывести матрицу а.
5.2. Вывести массив sumStl, чтобы значения сумм попадали под соответствующие столбцы.
6. Закончить.
Задача 7.4. Ввести матрицу а размерностью m*n.
Выполнить следующие операции:
– найти минимальные элементы в каждой строке и вывести исходную матрицу, а в конце каждой строки – минимум и его номер;
– найти максимальные элементы в каждом столбце и вывести исходную матрицу, а в конце каждого столбца – максимум.
Укрупненный алгоритм:
1. Ввести матрицу а.
2. Вывести матрицу а построчно.
// подсчет в строках
3. Для номера строки i от 0 до a.length:
3.1. Принять номер столбца минимума nmin=0.
3.2. Принять минимум равным min=a[i][nmin].
3.3. Для номера столбца j от 0 до a[i].length
если a[i][j] <min
nmin=j;
min=a[i][j];
3.4. вывести min и nmin
// подсчет в столбцах
4. Создать массив maxStl для хранения минимальных элементов столбцов
4.1. Для номера столбца j от 0 до a[0].length:
4.1.1. Принять номер строки максимума nmax=0.
4.1.2. Принять maxStl [nmax]=a[nmax][j] // начальные значения
4.1.3. Для номера строки i от 0 до a.length
если a[i][j] >max
nmax=i;
maxStl[j]=a[i][j];
5. Вывести матрицу а.
6. Вывести массив maxStl // значения максимумов под // соответствующими столбцами
7. Закончить.
Задания
Задание 7.1. Создать приложения для задач 7.1-7.4 из теоретической части лабораторной работы.
Задание 7.2. Выполнить задания по бригадам для одного из вариантов, заданного преподавателем из табл. 7.1.
Таблица 7.1
Вариант 1 |
1. Ввести в ЭВМ матрицу b размером n*m. Вывести ее по строкам, а затем вывести последнюю строку матрицы и ее минимальный элемент. |
2. Ввести в ЭВМ матрицу p размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= m). Вывести из матрицы p столбец с номером nom и сумму его положительных элементов.
|
Продолжение табл.7.1
Вариант 2 |
1. Ввести в ЭВМ матрицу a размером n*m. Вывести ее по строкам, а затем вывести первую строку матрицы и сумму и количество ее положительных элементов. |
2. Ввести в ЭВМ матрицу q размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= m). Вывести из матрицы p столбец с номером nom, его максимальный элемент и номер строки, в которой он находится.
|
Вариант 3 |
1. Ввести в ЭВМ матрицу c размером n*m. Вывести ее по строкам, а затем вывести последний столбец матрицы и его максимальный элемент. |
2. Ввести в ЭВМ матрицу p размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= n). Вывести из матрицы p строку с номером nom и сумму ее элементов.
|
Вариант 4 |
1. Ввести в ЭВМ матрицу d размером n*m. Вывести ее по строкам, а затем вывести первый столбец матрицы и сумму его четных элементов. |
2. Ввести в ЭВМ матрицу q размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= n). Вывести из матрицы p строку с номером nom и ее максимальный элемент и номер столбца, в котором он находится.
|
Вариант 5 |
1. Ввести в ЭВМ матрицу a размером n*m. Вывести ее по строкам, а затем вывести последнюю строку матрицы и ее максимальный элемент. |
2. Ввести в ЭВМ матрицу p размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= m). Вывести из матрицы p столбец с номером nom, сумму и количество его положительных элементов.
|
Вариант 6 |
1. Ввести в ЭВМ матрицу b размером n*m. Вывести ее по строкам, а затем вывести первую строку матрицы и сумму и количество ее положительных элементов. |
2. Ввести в ЭВМ матрицу q размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= m). Вывести из матрицы p столбец с номером nom, его минимальный элемент и номер строки, в которой он находится. |
Продолжение табл. 7.1
Вариант 7 |
1. Ввести в ЭВМ матрицу c размером n*m. Вывести ее по строкам, а затем вывести последний столбец матрицы и его минимальный элемент. |
2. Ввести в ЭВМ матрицу p размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= n). Вывести из матрицы p строку с номером nom, сумму и количество его положительных элементов.
|
Вариант 8 |
1. Ввести в ЭВМ матрицу d размером n*m. Вывести ее по строкам, а затем вывести первый столбец матрицы и сумму и количество его положительных элементов. |
2. Ввести в ЭВМ матрицу q размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= n). Вывести из матрицы p строку с номером nom и ее минимальный элемент и номер столбца, в котором он находится.
|
Вариант 9 |
1. Ввести в ЭВМ матрицу x размером n*m. Вывести ее по строкам, а затем вывести последнюю строку матрицы и ее максимальный четный элемент. |
2. Ввести в ЭВМ матрицу q размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= m). Вывести из матрицы p столбец с номером nom, сумму и количество его элементов.
|
Вариант 10 |
1. Ввести в ЭВМ матрицу y размером n*m. Вывести ее по строкам, а затем вывести первую строку матрицы и сумму ее элементов. |
2. Ввести в ЭВМ матрицу x размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= m). Вывести из матрицы p столбец с номером nom, его максимальный элемент и номер строки, в которой он находится.
|
Вариант 11 |
1. Ввести в ЭВМ матрицу a размером n*m. Вывести ее по строкам, а затем вывести второй столбец матрицы и его минимальный элемент. |
2. Ввести в ЭВМ матрицу p размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= n). Вывести из матрицы p строку с номером nom, сумму его четных элементов.
|
Окончание табл. 7.1
Вариант 12 |
1. Ввести в ЭВМ матрицу b размером n*m. Вывести ее по строкам, а затем вывести предпоследний столбец матрицы и сумму и количество его элементов. |
2. Ввести в ЭВМ матрицу q размером n*m. Вывести ее по строкам. Затем ввести некоторое значение nom (1 <=nom<= n). Вывести из матрицы p строку с номером nom и ее минимальный четный элемент и номер столбца, в котором он находится. |
