- •Массив (array) — это коллекция переменных одинакового типа, обращение к которым происходит с
- •Для объявления одномерного массива используется следующая форма записи.
- •Доступ к отдельному элементу массива осуществляется с помощью индекса. Индекс описывает позицию элемента
- •Для одномерных массивов общий размер массива в байтах вычисляется так:
- •На границах массивов погранзаставы нет
- •Алгоритм сортировки пузырьковым методом получил свое название от способа, используемого для упорядочивания элементов
- •//Использование метода пузырьковой сортировки
- •// Реализация метода пузырьковой сортировки.
- •Строка — это символьный массив, который завершается нулевым символом.
- •// Использование cin-инструкции для считывания
- •Введите строку: Это проверка
- •// Использование функции gets() для считывания
- •strcpy (to, from);
- •strcat(s1, s2);
- •strcmp(s1, s2);
- •При использовании функции strcmp() важно помнить, что она возвращает число 0 (т.е. значение
- •strlen(s);
- •// Отображение строки в обратном порядке.
- •Если запустить эту программу на выполнение и по приглашению ввести строки "привет" и
- •// Преобразование символов строки в их
- •int twod[10] [20];
- •Многомерные массивы
- •Массивы с числом измерений, превышающим три, используются нечасто, хотя бы потому, что для
- •Инициализация массивов
- •Для символьных массивов, предназначенных для хранения строк, предусмотрен сокращенный вариант инициализации, который имеет
- •в следующем фрагменте программы массив sqrs инициализируется числами от 1 до 10 и
- •При выполнении этой программы получаем такие результаты.
- •Предположим, что мы используем следующий вариант инициализации массивов для построения таблицы сообщений об
- •При инициализации многомерных массивов вам необходимо указать все данные, за исключением крайней слева
- •char str_array[30][80];
- •char name[10][80]; // Массив имен служащих.
- •void enter()
- •// Отображение отчета.
- •// Простая программа ведения базы данных служащих.
- •// Функция возвращает команду, выбранную
- •void enter()
- •Массив (array) — это коллекция переменных одинакового типа, обращение к которым происходит с
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;
}
