- •Массив (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) — это коллекция переменных одинакового типа, обращение к которым происходит с
При выполнении этой программы получаем такие результаты.
Это просто тест
ИЗМЕНЕНО
Это просто тест
ИЗМЕНЕНО
Предположим, что мы используем следующий вариант инициализации массивов для построения таблицы сообщений об ошибках.
char e1[14] = "Деление на 0\n";
char е2[23] = "Конец файла\n";
char еЗ[21] = "В доступе отказано\п";
char е1[] = "Деление на 0\n";
char е2[] = "Конец файла\n";
char еЗ[] = "В доступе отказано\n";
При инициализации многомерных массивов вам необходимо указать все данные, за исключением крайней слева размерности, чтобы С++-компилятор мог должным образом индексировать массив.
Используя "безразмерную" инициализацию массивов, можно создавать таблицы различной длины, позволяя компилятору автоматически выделять область памяти, достаточную для их хранения.
В следующем примере массив sqrs объявляется как "безразмерный".
int sqrs[][2] =
{
1, 1,
2, 4,
3, 9,
4, 16,
5, 25,
6, 36,
7, 49,
8, 64,
9, 81,
char str_array[30][80];
Массив строк — это специальная форма двумерного массива символов.
Получить доступ к отдельной строке довольно просто: достаточно указать только левый индекс.
Например, следующая инструкция вызывает функцию gets() для записи третьей строки массива
str_array.
gets(str_array[2]);
#include <iostream>
#include <cstdio> using namespace std; int main()
{
int t, i;
char text[100][80];
for(t=0; t<100; t++) {
cout << t << ": ";gets(text[t]);
if(!text[t][0]) break; // Выход из цикла по
пустой строке.
}
// Отображение строк на экране.
for(i=0; i<t; i++)
cout << text[i] << ' \n';
return 0;
}
char name[10][80]; // Массив имен служащих.
char phone[10][20]; // Массив телефонных
номеров служащих.
float hours[10]; // Массив часов, отработанных
за неделю.
float wage[10]; // Массив окладов.
void enter()
{
int i;
char temp[80];
for(i=0; i<10; i++) {
cout << "Введите фамилию: ";
cin >> name[i];
cout << "Введите номер телефона: ";
cin >> phone[i];
cout << "Введите количество отработанных
часов: ";
cin >> hours[i];
cout << "Введите оклад: ";
cin >> wage[i];
}
}
// Отображение отчета.
void report()
{
int i;
for(i=0; i<10; i++) {
cout << name[i] << ' ' << phone[i] << '\n';
cout << "Заработная плата за неделю: "<< wage[i] * hours[i];
cout << '\n';
}
}
// Простая программа ведения базы данных служащих.
#include <iostream> using namespace std;
char name[10][80]; // Массив имен служащих.
char phone[10] [20]; // Массив телефонных номеров служащих. float hours[10]; // Массив часов, отработанных за неделю. float wage[10]; // Массив окладов
int menu();
void enter(), report(); int main()
{
int choice;
do {
choice = menu(); // Получаем команду, выбранную пользователем.
switch(choice) {
case 0: break;
case 1: enter();
break;
case 2: report();
break;
default: cout << "Попробуйте еще раз.\n\n";
}
}while(choice != 0);
return 0;
}