Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11 клас пошук даних у масиві.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
130 Кб
Скачать
☆

Приклад діалогу

Введіть будь-що:

Шла Саша по шоссе и сосала сушку

ШлаСаша—Кінець виводу

Як ви думаєте чому такий вивід? У С++ кожна із змінних отримує тільки по одному введеному слову, змінній а присвоюється строкове значення «Шла», а змінній b значення «Саша», тому що після нього стоїть пробіл. Для читання всієї вводимої строки і присвоєння її змінній потрібно використовувати функцію getline.

Frame2

Наприклад,

char a[80];

cout<<”Введіть будь-що: ”<<endl;

cin.getline(a,80);

cout<<a <<”—Кінець виводу”<<endl;

Приклад діалогу

Введіть будь-що:

Шла Саша по шоссе и сосала сушку

Шла Саша по шоссе и сосала сушку—Кінець виводу

Якщо строка коротше того, що ввів користувач, то «зайве» відкидається

Наприклад,

char a[11];

cout<<”Введіть будь-що: ”<<endl;

cin.getline(a,11);

cout<<a <<”—Кінець виводу”<<endl;

Приклад діалогу

Введіть будь-що:

Шла Саша по шоссе и сосала сушку

Шла Саша п—Кінець виводу

Багатомірні масиви

Іноді зручно працювати з масивом у якого не один індекс, а декілька. Нижче приведений приклад, масив під назвою page, який має два індекса(перший з них вимірюється від 0 до 29., а другий від 0 до 99.

char page [30] [100];

Даний масив складається з наступних елементів:

page [0] [0], page [0] [1], ………….. , page [0] [99]

page [1] [0], page [1] [1], ………….. , page [1] [99]

………………………………………………………

page [29] [0], page [29] [1], ………….. , page [29] [99]

Кожен індекс має свою пару квадратних дужок. Даний масив містить 30 строк і 100 стовбців.

Frame3

Звичайні строки мають тип string і їм властиві такі функції:

Функція

Опис функції

string str;

Створює пустий об’єкт типу string

string str(“oooooobh”);

Створює об’єкт типу string із значенням “oooooobh”

str[i]

Звертання для читання та запису до символу з індексом і

str.substr(position,length)

Повертає підстроку об’єкта, яка почитається з позиції position, і має довжину length

str.c_str()

Надає доступ для читання С-строки, представленої об’єктом string

str.at(i)

Звертається для читання та запису до строки string і індексу і

str1=str2

Виділяє для строки str1 об’єм пам’яті рівний довжині строки str2 і ініціалізує строку str1 значенням str2

str1+=str2

Символи строки str2 додаються в кінець строки str1, для якої виділяється необхідний об’єм пам’яті

s.empty()

Якщо строка s пуста, повертає значення True, якщо не пуста, то повертає значення false.

str1+str2

Повертає строку, яка є об’єднанням строк str2 і str1. Виділяє необхідний об’єм пам’яті для результуючої строки

str.insert(pos, str2)

Поміщає строку str2 в строку str, починаючи з позиції pos

str.remove(pos, len)

Видаляє із строки str підстроку довжиною len починаючи з позиції pos

str1 = = str2

Перевіряє чи рівні строки та повертає відповідне логічне значення

srt1 ! = str2

str1 < str2

str1 > str2

str1 >= str2

str1 < = str2

Порівнює строки

str.find(str1)

Повертає індекс початку підстроки str1, яка входить в строку str

str.find(str1, pos)

Повертає індекс початку підстроки str1, яка входить в строку str, пошук починається з позиції pos

str.find_first_of(str1, pos)

Визначає в якій позиції в строчці str зустрічається перший символ, який присутній у строчці str1, пошук починається з позиції pos

str.find_first_not_of(str1, pos)

Визначає в якій позиції в строчці str зустрічається перший символ, який відсутній у строчці str1, пошук починається з позиції pos

Оператори при рівняння та порівняння дають логічні результати, які зрозумілі кожному. Немає таких проблем, як з використанням С-строк.

Масиви строк використовуються таким же чином, як і інші масиви. Наприклад,

string list[20];

cout<<”Введіть 20 імен, кожне в окремій строчці:”<endl;

int i;

for(i=0; i<20; i++)

getline(cin,list[i]);

cout<<”Ось вони, ці 20 імен:”<<endl;

for(i=0; i<20; i++)

cout<<list[i]<<endl;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]