- •Загальні положення ...………………………………………………………….........3
- •Загальні положення
- •1 Організація введення і виведення даних та розв’язання задач з простою змінною
- •1.1 Мета роботи
- •1.2 Вказівки до організації самостійної роботи студентів
- •1.2.1 Використання операторів введення
- •#Define sp " "
- •Int main ( )
- •Int main ( )
- •Int main ( )
- •Void main ( )
- •For ( [ вир1 ]; [ вир2] ;[ вир3 ] ) оператор;,
- •Void main ( )
- •Void main ( )
- •1.5 Контрольні питання
- •1.6 Варіанти індивідуальних завдань
- •2 Розв’язання задач c використанням одновимірних і двовимірних масивів
- •2.1 Ціль роботи Прищепити студентам навички розв’язання задач з використанням одновимірних і двовимірних масивів, складних циклів і використання покажчиків.
- •2.2 Методичні рекомендації з організації самостійної роботи студентів
- •Void main( )
- •Void main ( )
- •Void main ( )
- •Void main ( )
- •2.3 Використання покажчиків
- •Наиведемо програму з використанням покажчиків:
- •Int main ( )
- •Void main ( void )
- •2.4 Використання масивів і покажчиків
- •Приклад 2.4 Обчислити середнє значення додатних елементів одновимірного масиву.
- •Int *pmas;
- •2.5 Масиви покажчиків
- •Void main( )
- •2.6 Контрольні питання
- •2.7. Варіанти індивідуальних завдань
- •3 Вирішування задач з використанням даних символьного типу
- •3.1 Ціль роботи Вивчення засобів опису символьних типів даних і використання структур для обробки даних.
- •3.2 Методичні рекомендації з організації самостійної
- •Роботи студентів
- •3.2.1 Організація символьного введення - виведення
- •Device . Get (char_var);
- •3.2.2 Рядки як символьні масиви
- •3.2.3 Введення-виведення символьних масивів
- •Void main (void)
- •3.2.4 Основні функції обробки символьних типів
- •Void main (void)
- •Void del (char *st, int k, int n);
- •Void del(char *st, int, int);
- •Void main()
- •Void del(char *st,int k,int n)
- •[ Проміжки ] [знак числа] [ цифри].
- •Void main( )
- •Void main()
- •Void main()
- •Void main(void)
- •3.2 Контрольні питання і завдання
- •3.4 Варіанти індивідуальних завдань
- •4 Вирішувння задач з використанням даних типу структура
- •4.1 Ціль роботи Освоєння заходів розробки і налагодження програм з використанням
- •4.2 Методичні рекомендації з організації самостійної
- •Void main(void)
- •Void qsort (void *base , n , width,
- •Int (*fcmp) ( const void *elem1, const void *elem2) .
- •4.3 Контрольні питання
- •4.4. Індивідуальні завдання
- •5 Використання функцій при розробці програм
- •5.1 Ціль роботи
- •5.2 Методичні вказівки з організації самостійної роботи студентів
- •Void fun ( int p)
- •Void main ( )
- •Int main ( )
- •5.2.1 Використання покажчиків на функцію
- •Void main ( )
- •5.2.2 Використання масивів - параметрів функцій
- •Vоid sort (int mas [ 30 ]); .
- •Void sort ( int mas [ ], int n ) ; .
- •Void fun1 (char st [15]);
- •Int main ( )
- •Void fun1 ( char st[15] )
- •Void fun2 ( int mat [ ] [10], int rows, int cols );
- •Int main ( )
- •5.2.4 Звертання до функції і передача результату
- •Int main ( )
- •5.2.5 Перевантаження функцій
- •Int main ( )
- •5.3 Контрольні питання
- •5.4 Варіанти індивідуальних завдань
- •6 Робота з файлами
- •6.1 Ціль роботи
- •6.2 Методичні вказівки по організації самостійної роботи
- •Int main ( )
- •Int main ( )
- •Void main ( )
- •Ifstream in ( ”file1") ;
- •In.Close();
- •Перелік посілань
- •Навчальне видання
- •61726 Харків, просп. Леніна, 14.
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);