Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-1 Программирование С++ / метод_лб_ пз_Інформатика.doc
Скачиваний:
5
Добавлен:
31.01.2021
Размер:
699.9 Кб
Скачать

3.2.3 Введення-виведення символьних масивів

Рядки можна вводити різними способами, найбільш розповсюдженими з яких є:

 введення шляхом ініціалізації при оголошенні строкових масивів:

char st [5] = " Стіл";

char st [] = " Стіл";

char *pst = " Стіл";

у цьому випадку двовимірні масиви можна ініціалізувати одним з наступних засобів:

char str [5] [20] = {"Іванов И.И. ", "Сидоров С.С. ", . . . ,};

char str [ ] [20] = {"Іванов И.И. ", "Сидоров С.С. ", . . . ,};

char *pst [5] = {"Іванов И.И. ", "Сидоров С.С. ", . . . ,};

char *pst [ ] = {"Іванов И.И. ", "Сидоров С.С. ", . . . ,};

 введення за допомогою оператора cin >> , якщо в рядку немає проміжків, тому що символ проміжок є роздільником вводу даних, наприклад:

char st [5]; cin >> st;

char *pst; cin >> *pst

char str [5] [20]; cin >> str [i];

char *pst [5]; cin >> ( pst [i] );

 посимвольне уведення за допомогою функції get( ), наприклад get(st[i]);

 за допомогою функції cin.get (str [i], size, endl) ; ,

де size - кількість символів, що читаються;

 уведення за допомогою функції cin.getline ( str [i], sizeof ( str [i] ) ); ,

де sizeof( ) - функція визначення розміру рядка.

Виводити строкові дані можна використовуючи наступні записи:

cout << st;

printf ( % s,st ); // або ( sprintf )

puts ( st ); cout . write ( st , size ); і ін.

Приклад 3.3 Список рядків ( прізвища і ініціали  Ф.И.О.) оголошений як масив покажчиків. Скласти програму , що реалізує введення масиву по рядках і посимвольне виведення цього масиву.

// P3_3.СРР список рядків оголошений як масив покажчиків

#include <stdio.h>

Void main (void)

{

char *psp[ ] = { "Авдєєв А.А.'',

"Петров П.П.",

"Лисиця Л.Л. ",

NULL };

char **ptr =psp;

// Виведення масиву по рядках

while (*ptr)

puts (*ptr++);

ptr=psp;

// Виведення цього масиву посимвольне

while (*ptr)

{

while (**ptr)

{ putchar(**ptr); (*ptr)++; }

ptr++

}

}

Під час використання заголовного файлу stdio.h можна також застосувати, наприклад, такі функції:

для введення рядків для виведення рядків

puts(st) ; і printf(%s, st);

gets( st); cout.width(w);

scanf (% s,st) ; cout.precision (d);

setw(w);

setprecision(d);