Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лб8_Java_12ноября2012_singl.doc
Скачиваний:
0
Добавлен:
30.11.2019
Размер:
167.94 Кб
Скачать

Содержание

Лабораторная работа № 8(12ноября) ОБРАБОТКА ДВУМЕРНЫХ МАССИВОВ 2

8.1 КРАТКАЯ ТЕОРИЯ 2

8.1.1. понятие многомерных массивов. ввод и вывод матриц 2

8.1.2. типовые алгоритмы обработки матриц 3

8.1.2. алгоритмы обработки матриц вцелом 3

8.1.2. алгоритмы обработки матриц по строкам и столбцам 5

8.2 ЗАДАНИЯ 7

8.2.1. Общие задания 7

8.2.2. Задания по бригадам 7

Лабораторная работа № 8(12ноября) обработка двумерных массивов

Ц

Содержание

ель работы
– знакомство с алгоритмами обработки матриц: ввод/вывод, нахождением суммы количества, минимума/максимума по строкам/столбцам.

8.1 Краткая теория

8.1.1. Понятие многомерных массивов. Ввод и вывод матриц

Массив, который в качестве своих элементов содержит другие массивы, называется многомерным массивом.

Объявляются массивы так:

int[][] mas2; //двумерный – 2 индекса

double[][][] mas3; //трёхмерный массив – 3 индекса

int[][][][] mas4; //четырехмерный - 4 индекса

Чаще всего используются двумерные массивы. Такие массивы можно легко представить в виде матрицы, где строки является обычным одномерными массивами с равным количеством элементов

При создании массива можно указать явно размер каждого его уровня, но можно указать только размер первого уровня:

matr = int[3][4]; // Матрица из 3 строк и 4 столбцов

int[][] matr2 = int[5][]; /* Матрица из 5 строк. Сколько элементов будет в каждой строке, пока не известно. */

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

Создать многомерный массив можно сразу, явно указав его элементы:

int[][] = {{1,2, 8, 6}, {1,2,3,4,5}, {1,2,3,7}}; //матрица

int[][] = {{1,2}, {1,2,3,4,5}, {1,2,3}};//неравномерный массив

О

Содержание

бычно рассматриваются двумерные массивы с равным количеством элементов в каждой строке, т.е. матрицы.

Для обработки двумерных массивов используются два вложенных друг в друга цикла с разными счётчиками.

Ввод матрицы:

int[][] x = new int[6][4];

for(int i=0; i<x.length; i++) {

for(int j=0; j<x[i].length; j++) {

x[i][j] = sc.nextInt();

}

}

Вывод матрицы:

for(int i=0; i<x.length; i++) {

for(int j=0; j<x[i].length; j++) {

System.out.print(x[i][j] + "\t");

}

System.out.println(); // Переход на следующую строку

}

8.1.2. Типовые алгоритмы обработки матриц

Далее рассмотрено несколько задач с алгоритмами обработки матриц.

8.1.2. Алгоритмы обработки матриц вцелом

Задача 8.1. Ввести матрицу а размерностью m*n (n<=10, m<=8). Подсчитать сумму всех элементов матрицы, а также сумму и количество положительных элементов.

Укрупненный алгоритм:

1. Ввести матрицу а;

2. Вывести матрицу а построчно;

2. Принять общую сумму элементов sum=0;

3. Принять сумму положительных элементов sump=0;

4. Принять количество положительных элементов kolp=0;

5

Содержание

. Для i от 1 до a.length

Для j от 1 до a[i][j].length

5.1. вычислить sum+=a[i][j];

5.2. если a[i][j] >0

kolp++;

sump+=a[i][j];

6. Вывести результаты

7. Закончить

Задача 8.2. Ввести матрицу x размерностью m*n (n<=10, m<=8). Найти максимум и минимум среди всех элементов, а также номера строк и столбцов, на пересечении которых они находятся. Поменять максимум и минимум местами.

Укрупненный алгоритм:

1. Ввести матрицу x;

2. Вывести матрицу x построчно;

3. Принять номер строки минимума nmini=0;

4. Принять номер столбца минимума nminj=0;

5. Принять минимум равным начальному элементу min=x[0][0];

6. Принять номер строки максимума nmaxi=0;

7. Принять номер столбца максимума nmaxj=0;

8. Принять максимум равным начальному элементу max=x[0][0];

9. Для i от 1 до x.length

Для j от 1 до x[i].length

9.1. если x[i][j] <min

nmini=i;

nminj=j;

min=x[i][j];

9.2. если x[i][j] >max

nmaxi=i;

nmaxj=j;

max=x[i][j];

10. Вывести результаты о максимуме и минимуме.

1

Содержание

1 Поменять местами минимальный и максимальный элемент матрицы.

12. Вывести матрицу

13. Закончить.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]