Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Лекция 11. Инициализация массивов
Инициализация массивов В языке С++ предусмотрена возможность инициализации массивов двумя способами: либо с указанием размера массива, либо без явного указания. Формат инициализации: <тип><имя массива>[<размер>] = {<список значений>}; Здесь тип каждого значения инициализации должен совпадать с базовым типом массива. Примеры:
int INTMAS[10] = {1,2,3,4,5,6,7,8,9,10}; int ARRAY[6] = {1,2,3}; // 6 элементов
В массиве ARRAY проинициализированы только три элемента, остальные не определены. Если в определении массива задан его размер. То количество начальных значений не должно превышать его длину. Пример: float B[4] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0}; //ошибка char STR[7] = {‘a’, ‘b’, ‘a’, ‘b’, ‘a’, ‘b’,’\0’}; // верно
Строки можно инициализировать еще одним способом:
char <имя массива>[<размер>] = “<строка>”;
Например:
char STR[7] =”abcdef”;
Это определение строки эквивалентно следующей конструкции:
char STR[7] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’,’\0’};
Многомерные массивы инициализируются по аналогии с одномерными. При инициализации многомерных массивов начальные значения нужно размещать в порядке расположения элементов в памяти компьютера. Например:
int MATR[5][2] = { 1,1, 2,4, 3,9, 4,16, 5,25 }; Здесь MATR[0][0]=1; MATR[0][1]=1; MATR[1][0]=2; MATR[1][1]=4; … MATR[4][0]=5; MATR[4][1]=25. При инициализации многомерного массива список инициализаторов каждой размерности можно заключать в {…}. Например:
int MATR[5][2] = { { 1,1}, {2,4}, {3,9}, {4,16}, {5,25} }; При использовании подгрупп инициализаторов недостающие члены подгруппы инициализируются нулевыми значениями. Язык С++ позволяет не указывать длину массива. Компилятор определяет её автоматически путем подсчета количества инициализаторов. Например:
int MAS[ ] = {1,2,3,4}; // 4 элемента int STR[ ] = ”abcdefgh”; // 9 элементов
С помощью операции sizeof(<имя массива>) можно определить размер массива в байтах. Так как элементы массива имеют один и тот же тип, то количество элементов массива можно определить так:
sizeof(<имя массива>)/sizeof(<имя массива>[0]);
Массивы строк.
Для создания массива строк используется двумерный символьный массив, в котором размер левого индекса определяет количество строк, а размер правого – максимальную длину каждой строки. Например:
char str[30][80]; // 30 строк по 80 символов gets(str[2]); // ввести третью строку массива str. Для доступа к конкретному символу можно использовать следующую конструкцию:
cout << str[2][3]; // вывод 4-го символа 3-ей строки.
Пример использования массива строк для телефонного справочника #include <iostream.h> #include <stdio.h> void main() { int i; char str[80]; char numbers[10][80] = { “Маша”, “129-34-01“, “ Олег”, “371-16-55“, “Наташа”, “241-25-09“, “Саша”, “971-18-04“, “Лена”, “962-01-10“ }; cout << “Введите имя:”; cin >> str; for (i = 0; i<10; i+=2) if (!strcmp(str,numbers[i])) { cout << “Телефонный номер: ” << numbers[i+1] << “\n”; break; } if (i== 10) cout << “Отсутствует в справочнике. \n”; }
Вопросы 1.Укажите правильное определение массива 1.int f[ ]; 2.int f[ ]={1,2,3,4}; 3.int f[10]; Правильный ответ-2,3.
Date: 2015-12-12; view: 412; Нарушение авторских прав |