- •Загальні положення ...………………………………………………………….........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.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 ( )
- •Void fun (int &р)
- •Void main ( )
- •Void fun2 (int *p)
- •Void main ( )
- •Int main ( )
- •5.2.1 Використання покажчиків на функцію
- •Void main ( )
- •Int god ( const void*, const void * ) ;
- •5.2.2 Використання масивів - параметрів функцій
- •Void fun2 ( int mat [ ] [10], int rows, int cols );
- •Int getnum (const char *elemtype , int low , int high )
- •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 ( )
- •Перелік посілань
- •Навчальне видання
- •61726 Харків, просп. Леніна, 14.
Void main(void)
{
const k = 5;
int n = 1, i;
float sm, sf, sp;
stud ved[k];
sm = sf = sp = 0;
cout << "Введіть прізвище й оцінки mat, fiz, prg \n " ;
for ( i = 0; i < k; i++)
{
gets ( ved[i]. fam );
cin >> ved[i]. mat >> ved[i]. fiz >> ved[i]. prg ;
ved[i]. sb = ( ved[i]. mat + ved[i]. fiz + ved[i]. prg) / 3;
sm += ved[i]. mat;
sf += ved[i]. fiz;
sp += ved[і]. prg;
}
cout << "\t Відомість успішності групи \n\n";
cout << "\t";
for ( i = 0; i < 47; i++) cout << "-"; // Верхня риса
cout << "\n";
cout << "\t \t прізвище\t мат фіз прогр порівн.бал \n";
for ( i = 0; i < 47; i++) cout << "-"; // Верхня риса
for ( i = 0; i < k; i++)
{
cout << "\t" << i + 1 << " " << setw(17)
<< setiosflags ( ios :: left ) << ved[i]. fam;
cout << ved[i]. mat << " " << ved[i]. fiz <<
" " << ved[i]. prg << " " << ved[i]. sb << "\n";
}
cout << "\t";
for ( i = 0; i < 47; i++) cout << "-"; // Нижня риса
cout << "\n\t" << setw(16) << setiosflags ( ios :: right )
<< "Порівн. бал";
cout << " " << sm / k << " " << sf / k << " " << sp / k << "\n\n";
cout << "\t Відмінники по програмуванню: \n\n";
for ( i = 0; i < k; i++)
if ( ved[i]. prg == 5)
{
cout << "\t" << n << " " << ved[i]. fam << "\n";
n++;
}
}
Результат роботи програми буде мати вигляд:
Відомість успішності студентів
_______________________________________________
прізвище мат фіз прогр порівн.бал
_______________________________________________
Авдєєв И.М. 3 4 4 3.7
Биків Т.Б. 5 5 4 4.6
Волков А.П. 4 5 5 4.6
_______________________________________________
Порівн. бал 3.8 4.6 4.8
Відмінники по програмуванню:
Волков А.П.
Поля структури можуть також бути масивами, наприклад, у раніше розглянутій структурі stud можна оцінки по різних предметах об'єднати в масив. Тоді таку структуру можна описати у вигляді:
struct stud1
{ char fam [25];
int pr [3];
float sb
} st1 [10], *pst = &st1 [0]; ,
тепер до полів можна звертатися одним з наступних способів:
((*pst). fam) // gets (( *pst) .fam);
( pst -> pr [0] ) // cin >> pst -> pr[0] >> pst -> pr[1];
// або cin >> pst -> * (pr +1).
У бібліотеці <stdlib.h> для пошуку і сортування структурних змінних маються спеціальні функції. Так , функція швидкого сортування структурних елементів масиву по заданому полю має вигляд :
#include < stdlib.h >