Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное
учреждение высшего профессионального образования
Уфимский государственный авиационный технический университет
Кафедра экономической информатики
ИЗУЧЕНИЕ ИНТЕГРИРОВАННОЙ СРЕДЫ BORLAND C++.
Многомерные массивы методические указания
к лабораторным работам по курсу «Программирование»
Уфа 2012
Составитель: Е.И. Филосова
ББК
УДК 519.682
Методические указания к лабораторным работам по курсу «Программирование» для студентов направления 080500 «БИЗНЕС ИНФОРМАТИКА» / Уфимский государственный авиационный технический университет; Составитель Е.И. Филосова, Уфа, 2012
В методических указаниях представлена лабораторная работа №5 по изучению раздела «Многомерные массивы» дисциплины «Программирование». Представлены примеры, контрольные вопросы и задания для самостоятельной работы. Методические указания могут быть так же использованы в курсовом и дипломном проектировании.
Ил. 1, табл. 0
Рецензенты: доц.
доц.
© Уфимский государственный авиационный технический университет, 2012
Содержание
Цель работы 5
1. Общие положения 5
1.1 Многомерные массивы 5
1.2 Работа с двумерным массивом 6
1.3 Динамические массивы 8
2. Содержание работы 9
s1=0; 9
3. Требования к отчету 10
4. Контрольные вопросы 10
Приложение А 11
Варианты заданий по теме «Многомерные массивы» 11
Приложение Б 12
Варианты заданий по теме «Замена и перестановка элементов матриц» 12
13
Цель работы
Изучить работу с многомерными массивами и указателями:
описание многомерного массива;
основные алгоритмы работы с двумерными массивами;
динамические многомерные массивы.
1. Общие положения
1.1 Многомерные массивы
Многомерные массивы - это массивы с более чем одним индексом. Многомерный массив представляет собой массив массивов, то есть массив, элементами которого служат массивы. Определение многомерного массива в общем случае должно содержать сведения о типе, размерности и количествах элементов каждой размерности. Чаще всего используются двумерные массивы. При описании многомерного массива необходимо указать C++, что массив имеет более чем одно измерение.
int t[3][4]; - описывается двумерный массив, из 3 строк и 4 столбцов.
Элементы массива:
t[0][0] t[0][1] t[0][2] t[0][3]
t[1][0] t[1][1] t[1][2] t[1][3]
t[2][0] t[2][1] t[2][2] t[2][3]
При выполнении этой команды под массив резервируется место. Элементы массива располагаются в памяти один за другим:
int temp [3] [15] [10]; - резервируется место под 3-х мерный массив.
В памяти многомерные массивы представляются как одномерный массив, каждый из элементов которого, в свою очередь, представляет собой массив. Рассмотрим на примере двумерного массива: int a[3][2]={4, l, 5,7,2, 9} как он представляется в памяти:
a[0][0] |
заносится значение 4 |
a[0][1] |
заносится значение 1 |
a[1][0] |
заносится значение 5 |
a[1][1] |
заносится значение 7 |
a[2][0] |
заносится значение 2 |
a[2][1] |
заносится значение 9 |
Второй способ инициализации при описании массива
int а[3][2]={ {4,1}, {5, 7}, {2, 9} };
Обращение к элементу массива производится через индексы.
cout << а[0][0]; - выдаст значение 4.
cout << a[1][1]; - выдаст знaчение 7.
Программа, которая инициализирует массив и выводит его элементы на экран.
#include <iostream.h>
#include <conio.h>
main () {
int a[3] [2]={{1,2}, {3,4}, {5,6} };
int i,j;
for (i=0; i<=2; i++)
for(j=0; j<=1; j++)
cout <<"\n a["<< i <<"," << j <<"] ="<< a[i][j];
getch();
return 0;
}
Для того, чтобы убрать из программы явные значения размера и массива, можно воспользоваться директивой define
#include <iostream.h>
#include <conio.h>
#define I 3
#define J 2
main() {
int a[I][J]={ {1,2}, {3,4}, {5,6} };
int i, j;
for ( i=0 ; i< I; i++)
for( j=0; j< J; j++)
cout <<"\n a["<< i <<"," << j << "] ="<< a[i][j];
getch();
return 0;
}