ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Инициализация элементов многомерных массивовМногомерный массив подобно одномерному массиву может быть проинициализирован с помощью списка инициализаторов. Первыми инициализируются элементы с самыми маленькими индексами: int MyArray[3][3][3] = { 0,1,2,3,4,5,6,7,8,9,10,11 }; Начальные значения получают следующие элементы трёхмерного массива: MyArray[0][0][0] == 0 MyArray[0][0][1] == 1 MyArray[0][0][2] == 2 MyArray[0][1][0] == 3 MyArray[0][1][1] == 4 MyArray[0][1][2] == 5 MyArray[0][2][0] == 6 MyArray[0][2][1] == 7 MyArray[0][2][2] == 8 MyArray[1][0][0] == 9 MyArray[1][0][1] == 10 MyArray[1][0][2] == 11 Вопрос 31. Символы. Стандартные кодовые таблицы символов. Приведите известные вам кодировки символов. Привести примеры обработки символов с использованием библиотечных функций на языке С/C++. Вопрос 32. Символьные строки. Два эквивалентных способа объявления и инициализации строк. Привести примеры обработки строк в С/C++. Строки в С++ позволяют работать с символьными данными. В С++ существует 2 типа строк. 1. Это массив переменных типа char. Переменная типа char хранит в себе 1 символ. Размер такой строки равняется размеру массива - 1, т.к. последний элемент содержит NULL (пустая переменная без значения), который обозначает символ конца строки. Например: char name[ 50]; cin>>name; cout<<"Hello "<<name<<endl; 2. Это специальный класс string. Для его работы необходимо в начале программы подключить заголовочный файл string: #include <string> В отличие от типа char, string является классом. Для создания строки вам необходимо в начале программы написать using namespace std; Теперь, чтобы создать строку достаточно написать: string s; Для записи в строку можно использовать оператор “=“: s="Hello"; Пример работы с классом string: string name; cout<<"Enter your name"<<endl; cin>>name; cout<<"Hi "<<s<<“!"<<endl; Строка при объявлении может быть инициализирована начальным значением, например, так: char string [10] = "abcdefghf"; Если подсчитать кол-во символов в двойных кавычках, их окажется 9, а размер строки 10 символов. Последнее место отводится под нуль–символ, причём компилятор сам добавит его в конец строки. Посимвольная инициализация строки: char string [10] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'f', '\0'}; При объявлении строки не обязательно указывать её размер, но при этом обязательно нужно её инициализировать начальным значением. Тогда размер строки определится автоматически и в конец строки добавится нуль-символ. Инициализация строки без указания размера: char string[ ] = "abcdefghf"; Вопрос 34. Алгоритмы копирования строк, реализованные через массивы и стандартные строковые функции языка С/C++. char *s1, *s2; char * strcpy (s1, s2); создаёт копию строки S2 по адресу S1 char *s1, *s2; int n; char * strncpy (s1, s2, n); по адресу S1 копируется не более n символов строки S2 Пример: #include "stdafx.h" #include <iostream> #include <cstring> // для strcpy() using namespace std; int main () { char str1[ ] = "Я программист"; char str2[40]; char str3[80]; strcpy (str2, str1); // копируем строку str1 в str2 strcpy (str3, “копирование выполнено успешно \n"); // копируем строку во втором параметре в str3 cout << "str1: " << str1 << "\n str2: " << str2 << "\n str3: " << str3; return 0; } Вопрос 35. Функции поиска одиночного символа и подстроки в строке. Проиллюстрировать работу функций в С/C++ на примерах. char* s; int c; char* strchr (s, c); поиск первого вхождения символа с в строке s. В случае удачного поиска возвращает указатель на место первого вхождения символа с, а если не находит, то возвращает NULL (пустой указатель). char *s1, *s2; char* strstr (s1, s2); функция ищет в строке s1 подстроку S2 и возвращает на нее указатель или NULL, если не найдено. Пример: #include "stdafx.h" #include <iostream> #include <cstring> // для strchr() using namespace std; int main () { char lotr[ ] = "_- =Властелин к0лец =-_"; // строка в // которой будем искать символ 0 cout << "Ищите кольцо всевластия в LOTR!!!\n"; char * ring = strchr(lotr, '0'); // поиск символа 0 в строке lotr cout << "Моя прелесть находится в " << (ring - lotr + 1) << " квадрате\n"; // определяем позицию символа return 0; } Не нашли, что искали? Воспользуйтесь поиском:
|