Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_1_10 / Лекция 05.pptx
Скачиваний:
66
Добавлен:
21.05.2015
Размер:
488.43 Кб
Скачать

int twod[10] [20];

#include <iostream> using namespace std; int main()

{

int t,i, num[3] [4];

for(t=0; t<3; ++t) {

for(i=0; i<4; ++i) {

num[t][i] = (t*4)+i+l;

cout << num[t][i] << ' ';

}

cout << '\n';

}

return 0;

}

число байтов = число строк х число столбцов х размер типа в байтах

Следовательно, двумерный целочисленный массив размерностью 10x5 занимает в памяти 10x5x2, т.е. 100 байт (если целочисленный тип имеет размер

2 байт).

Многомерные массивы

В C++, помимо двумерных, можно определять массивы трех и более измерений. Вот как объявляется многомерный массив.

тип имя[размер1][размер2]…[размерN];

Например, с помощью следующего объявления создается трехмерный целочисленный массив размером

4x10x3.

int multidim[4][10][3];

Массивы с числом измерений, превышающим три, используются нечасто, хотя бы потому, что для их хранения требуется большой объем памяти.

Например, хранение элементов четырехмерного символьного массива размером 10x6x9x4 займет 2 160 байт. А если каждую размерность увеличить в 10 раз, то занимаемая массивом память возрастет до 21 600 000 байт.

Инициализация массивов

В C++ предусмотрена возможность инициализации массивов. Формат инициализации массивов подобен формату инициализации других переменных.

тип имя_массива [размер] = {список_значений};

Здесь элемент список_значений представляет собой список значений инициализации элементов массива, разделенных запятыми.

Например, в следующем примере 10-элементный целочисленный массив инициализируется числами от 1 до 10.

int i[10] = {1,2,3,4,5,6,7,8,9,10};

Для символьных массивов, предназначенных для хранения строк, предусмотрен сокращенный вариант инициализации, который имеет такую форму,

char имя_массива[размер] = "строка";

Например, следующий фрагмент кода инициализирует массив str фразой "привет",

char str[7] = "привет";

Это равнозначно поэлементной инициализации.

char str[7] = {'п’,'р’,'и’,'в’,'е’,'т’,'\0'};

в следующем фрагменте программы массив sqrs инициализируется числами от 1 до 10 и квадратами этих чисел.

int sqrs[10][2] =

{

1, 1,

2, 4,

3, 9,

4, 16,

5, 25,

6, 36,

7, 49,

8, 64,

9, 81,

10, 100

};

int sqrs[10][2] =

{

{1, 1},

{2, 4},

{3, 9},

{4, 16},

{5, 25},

{6, 36},

{7, 49},

{8, 64},

{9, 81},

{10, 100}

};

#include <iostream> using namespace std; int sqrs[10][2] = {

{1, 1},{2, 4},{3, 9},{4, 16},{5, 25},{6, 36},{7, 49},

{8, 64}, {9, 81}, {10, 100}

};

int main()

{

int i, j;

cout << "Введите число от 1 до 10: ";cin >> i;

// Поиск значения i.

for(j=0; j<10; j++)

if(sqrs[j][0]==i) break;

cout << "Квадрат числа " << i << " равен ";

cout << sqrs[j][1];

return 0;

}

#include <iostream> #include <cstring> using namespace std; void f1();

int main()

{

f1();

f1();

return 0;

}

void f1()

{

char s[80]="Этo просто тест\n";

cout << s;

strcpy(s, "ИЗМЕНЕНО\n"); // Изменяем значение строки s.

cout << s;

}

Соседние файлы в папке lekcii_1_10