Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_с++.doc
Скачиваний:
13
Добавлен:
15.11.2018
Размер:
672.26 Кб
Скачать

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[ ] = { "Авдєєв А.А.''

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

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

…………… }

char **ptr =psp;

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

while (*ptr);

puts (*ptr++);

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

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);