Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Двумерные массивы

Двумерный массив - это одномерный массив, элементами которого являются одномерные массивы, т.е это набор однотипных данных, которые имеют общее имя, доступ к элементам которого осуществляется по двум индексам. Наглядно двумерный массив удобно представлять в виде таблицы, в которой n строк и m столбцов, а под ячейкой таблицы, стоящей в i-й строке и j-м столбце понимают некоторый элемент массива a[i][j].

Действительно, если разобраться с тем, что такое a[i] при фиксированном значении i, то увидим, что это одномерный массив, состоящий из m элементов, к которым можно обращаться по индексу: a[i][1], a[i][2],..., a[i][m]. Схематически это вся i-я строка таблицы. Аналогично, если мы рассмотрим одномерный массив строк, то сможем заметить, что это так же двумерный массив, где каждый отдельный элемент - это символ типа char, а a[i] - это одномерный массив, представляющий отдельную строку исходного одномерного массива строк. Исходя из идеи определения думерного массива можно определить рекурентное понятие многомерного массива:

n-мерный массив - это одномерный массив, элементами которого являются (n-1)-мерные массивы.

Несложно догадаться, что 3-мерный массив визуально можно представить в виде куба с ячейками (похоже на кубик Рубика), где каждый элемент имеет вид a[i][j][k]. А вот с большими размерностями возникают сложности с визуальным представлением, но математическая модель ясна.

По-другому двумерный массив также называют матрицей, а в том случае, когда n=m (число строк равно числу столбцов) матрицу называют квадратной. В матрицах можно хранить любые табличные данные: содержание игрового поля (шашки, шахматы, Lines и т.д.), лабиринты, таблицу смежности графа, коэффициенты системы линейных уравнений и т.д. Матрицы часто используют для решения олимпиадных и математических задач.

В задачах табличные данные часто определяются во входном файле следующим образом: сначала в первой строке указываются значения n и m через пробел, а далее идут n строк по m элементов в каждой, также друг от друга отделенные пробелом и входной файл может иметь, например, следующее содержание, понятно отражающее содержимое матрицы при обычном просмотре:

3 5

7 8 2 3 1 5 3 2 6 3 9 3 5 2 0

Контрольные вопросы

1. Для чего в программах используются двумерные массивы? Как они описываются?

2. Сколько индексов характеризуют конкретный элемент двумерного массива?

3. Как в программе использовать значение конкретного элемента двумерного массива?

4. Как можно заполнить двумерный массив?

5. Какую структуру данных описывает двумерный массив?

6. Какой индекс двумерного массива изменяется быстрее при последовательном размещении элементов массива в оперативной памяти?

Вариант 1 Вариант 2 Вариант 3 Вариант 4 Вариант 5
  Дан двумерный массив М[5][5].  
Вывести на экран элемент, расположенный в правом нижнем углу массива.   Вывести на экран элемент, расположенный в левом верхнем углу массива.   Вывести на экран любой элемент второй строки массива; Вывести на экран любой элемент массива. Вывести на экран любой элемент третьего столбца массива;
сумму элементов, расположенных в верхнем левом и нижнем пра­вом углах;   среднее геометрическое элементов, расположенных в четырех углах. заменяющую значение любого элемента второго столбца двумерного массива на число 13; заменяющую значение любого элемента двумерною массива на число b. заменяющую значение любого элемента пятой строки двумерного массива на число 1949;
Поменять местами элементы, расположенные в верхнем правом и нижнем левом углах;   Поменять местами элементы, расположенные в нижнем нравом и верхнем левом углах   Составить программу, которая меняет местами два любых элемента двумерного массива.   Составить программу, которая меняет местами первый и последний элемент главной диагонали массива Составить программу, которая меняет местами первый и последний элемент побочной диагонали массива
определить какой элемент двумерного массива меньше: расположенный в нижнем правом или в нижнем левом углу; определить какой элемент двумерного массива меньше: расположенный в верх­нем правом или в нижнем левом углу.   определить какой элемент двумерного массива больше: расположенный в верх­нем левом или в верхнем правом углу;   определить какой элемент двумерного массива меньше: расположенный в ниж­нем правом или в верхнем левом углу.   сравнить два любых элемента массива (определить, какой из них меньше).  
Заполнить двумерный массив результатами таблицы умножения (в пер­вой строке должны быть записаны произведения каждого из чисел от 1 до 9 на 1, во второй — на 2,..., в последней — на 9).   Заполнить двумерный массив размером 7x7 следующим образом
             
             
             
             
             
             
             

 

             
             
             
             
             
             
             

 

             
             
             
             
             
             
             

 

           
           
           
           
           
           

 

Заполнить двумерный массив размером 5x5 следующим образом
         
         
         
         
         

 

Заполнить двумерный массив размером 7x7 числами 1, 2,..., 49, расположенными в ней по спирали Дан двумерный массив размером 9x9. Получить последовательность чисел, получающуюся при чтении этого массива по спирали   Заполнить двумерный массив размером мхи единицами и нулями таким образом, чтобы единицы размещались так, как размещаются на шах­матной доске черные поля, а нули— как белые поля. Левое нижнее поле на шахматной доске всегда черное. Задачу решить при четном значении n.
Выяснить, является ли произведение элементов второго столбца массива трехзначным числом. Составить программу, определяющую, верно ли, что сумма эле­ментов строки массива с известным номером превышаем заданное число? Выяснить, является ли сумма элементов четвертой строки массива двузначным числом. Составить программу, определяющую, верно ли, что произведение элементов столбца массива с известным номером не превышает за­данного числа? Составить программу, которая определяет максимальное из двух чисел: суммы элементов к-ой строки и суммы элементов s-го столбца массива.  

 

<== предыдущая лекция | следующая лекция ==>
Купли - продажи транспортного средства | 




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.