Приклад діалога
Введіть не більше 10 додатніх цілих чисел
Кінець списку помітьте від’ємним числом
80 30 50 70 60 90 20 30 40 -1
Відсортовані числа:
20 30 40 50 60 70 80 90
Багатомірний масив – це масив, який містить декілька індексів. Багатомірний масив можна використовувати для створення речень та тексту. Бувають строки двох типів – С-строки та просто строки.
Строкова змінна – це той же масив символів. Наприклад, масив char f [10]; може зберігати строку в 9 символів. 10 символів вона зберігати не може, так як останній символ строкової змінної – це нуль-символ. Позначається нуль-символ ‘\0’. Цей символ служить сигнальною міткою, яка означає кінець строки. Наприклад, слово «Привіт!» збережене в масиві виглядатиме так:
f[0] |
f[1] |
f[2] |
f[3] |
f[4] |
f[5] |
f[6] |
f[7] |
f[8] |
f[9] |
П |
р |
и |
в |
і |
т |
! |
\0 |
|
|
Строкову змінну можна ініціювати (надати їй значення) під час об’яви. Наприклад,
char f [10]= ”Привіт!”;
Запам’ятайте, що char f [10]= ”Привіт!”; і char f [10]= {П,р,и,в,і,т,!}; це не одне і теж!
У першому випадку створиться масив з строковим значенням, у другому випадку просто символи, які не є текстом.
Строкові значення не схожі на числові і звичайні операції присвоєння( = ) та прирівняння ( = = ) з ними не працюють. Тому слід звернути увагу на такі нюанси:
Присвоювати значення можна тільки при об’яві строкової змінної за допомогою оператора присвоєння( = ). В інших місцях програми це буде помилка!
Для того, щоб присвоїти значення строковій змінній в програмі потрібно використовувати функцію strcpy(Назва_масиву, ”значення”); Наприклад,
strcpy(score,”Hello!”);
Для перевірки рівності двух строк використовується функція strcmp(строка 1, строка2); Наприклад,
if(strcmp(csting1,cstring2))
cout<<”Строчки різні”;
else
cout<<”Строчки однакові”;
Для використання функцій роботи зі строками існує бібліотека #include <cstring>
Деякі функції бібліотеки cstring
Функція |
Опис функції |
Застереження |
strcpy(Цільова строка, Строка, що копіюється) |
Копіює строкове значення Строка, що копіюється в строкову змінну Цільова строка |
Не перевіряє, чи досить довжини строкової змінної Цільова строка для того, щоб помістити значення Копіюємої строки |
strcat(Цільова строка, Строка, що приєднується) |
Приєднує строкове значення Строка, що копіюється в кінець значення строкової змінної Цільова строка |
Не перевіряє, чи досить довжини строкової змінної Цільова строка для того, щоб помістити результат об’єднання |
strlen(Вимірювальна строка) |
Повертає ціле число, яке дорівнює довжині строки без урахування нуль-символу |
Немає |
strcmp(Строка1, Строка2) |
Якщо Строка1 і Строка2 співпадають, повертає 0. Якщо Строка1 менше за Строку2 повертає від’ємне число. Якщо Строка1 більша за Строку2, повертає додатне число. |
Якщо строки співпадають, функція повертає 0, який переходить у логічний вираз false. Якщо не співпадають, то видає число, яке сприймається як True. |
char a[80],b[80];
cout<<”Введіть будь-що: ”<<endl;
cin>>a>>b;
cout<<a<<b<<”—Кінець виводу”<<endl;
