
- •Лабораторна робота №1
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості Масиви динамічної пам'яті
- •Приклад виконання завдання 1
- •Лістинг програми
- •Приклад виконання завдання 2
- •Лістинг програми
- •Приклад виконання завдання 3
- •Лістинг програми
- •Контрольні запитання
- •Лабораторна робота №2
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Читання і запис текстових файлів
- •Читання і запис бінарних файлів
- •Відкриття бінарних файлів
- •Файли з послідовним доступом
- •Запис даних у файл з послідовним доступом
- •Файли з довільним доступом
- •Приклад виконання завдання 1
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №3
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості
- •Обмеження доступу до членів класу
- •Специфікатори доступу
- •Вбудовані функції-члени
- •Приклад виконання завдання 1.
- •Приклад виконання завдання 2.
- •Приклад виконання завдання 3.
- •Контрольні запитання
- •Лабораторна робота №4
- •Порядок виконання роботи
- •Завдання 2
- •Теоретичні відомості Конструктори і деструктори
- •Правила роботи з конструкторами і деструкторами
- •Варіант 10. Розробити описовий алгоритм, схему алгоритму і написати метод для підрахування кількості слів в текстовому файлі.
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №5
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Принципи спадкування в ооп
- •Оголошення похідних класів
- •Конструктори похідного класу
- •Функції члени похідного класу
- •Заборонені члени класу (Protected)
- •Приклад виконання Завдання 1
- •Контрольні запитання
- •Лабораторна робота №6
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Перевантаження операторів
- •Приклад виконання завдання 1
- •Приклад виконання завдання 2
- •Приклад виконання завдання 3
- •Приклад виконання завдання 4
- •Контрольні запитання
- •Лабораторна робота №7
- •Порядок виконання роботи
- •Завдання 1.
- •Завдання 2.
- •Теоретичні відомості
- •Структура наслідування класів
- •Постановка задачі
- •Розробити клас трикутника, чотирикутника, кола, точки
- •Контрольні запитання
- •Лабораторна робота №8
- •Порядок виконання роботи
- •Завдання 1
- •Контрольні запитання
- •Лабораторна робота №9
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Множинне спадкування
- •Контрольні запитання
- •Лабораторна робота №10
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Шаблони
- •Параметризовані класи
- •Визначені об’єкти-потоки
- •Операції поміщення та вилучення
- •Приклад виконання Завдання з варіанту 2
- •Контрольні запитання.
- •Лабораторна робота №11
- •Порядок виконання
- •Завдання 1
- •Завдання 2
- •Завдання 3 Варіант 1. Задача “Банківське переведення” (дата, час, № рахунку, розмір рахунку).
- •Ітератори
- •Для роботи з вектором необхідно:
- •Приклад роботи з вектором
- •Алгоритми
- •Застосування алгоритмів до вектора
- •Приклад 1 виконання Завдання 1
- •Приклад 2 виконання Завдання 2
- •Приклад 3 виконання завдання №3
- •Контрольні запитання
- •Завдання 1
- •Теоретичні відомості Приклад розробки програми
- •Контрольні запитання
- •Лабораторна робота №13
- •Порядок виконання
- •Завдання 2.
- •Теоретичні відомості
- •Стандартні потоки для базових класів
- •Форматування даних при обмінах з потоками
- •Маніпулятори
- •Приклад розробки програми
- •Контрольні запитання
- •Лабораторна робота №14
- •Порядок виконання
- •Завдання
- •Теоретичні відомості
- •Контрольні запитання
Приклад виконання завдання 1
Варіант 6. Розробити програму для виводу на екран вихідного динамічного масиву, упорядкованого за зростанням методом бульбашки.
Дана програма буде складатися з основної функції int main(), та п’яти функцій для виконання поставленої задачі:
float()*Create_1D_Mas(float*m,int n) - функція призначена для створення масиву;
void Vvod_1D_Mas(float*m,int n) - функція призначена для заровнення масиву;
void Sortirovka_1D_Mas(float*m,int n) - функція призначена для сортування масиву методом бульбашки;
void Print_1D_Mas(float*m,int n) - функція призначена для виведення масиву;
void Clear_1D_Mas(float*m) - функція призначена для очистки масиву.
Програма буде мати наступний вигляд:
Лістинг програми
#include<stdio.h>
#include<conio.h>
#include<math.h>
float*()Create_1D_Mas(float*m,int n);
void Vvod_1D_Mas(float*m,int n);
void Sortirovka_1D_Mas(float *m,int n);
void Print_1D_Mas(float*m,int n);
void Clear_1D_Mas(float*m);
float()*Create_1D_Mas(float*m,int n)
{
m=new float[n];
}
void Vvod_1D_Mas(float*m,int n)
{
for(int i=0;i<n;i++)
scanf("%f",&m[i]);
}
void Sortirovka_1D_Mas(float*m,int n)
{
int b;
float*t;
do
{
b=0;
for(int i=0;i<n-1;i++)
{
if(m[i]>m[i+1])
{
float t=m[i];
m[i]=m[i+1];
m[i+1]=t;
b=1;
}
}
}while(b);
}
void Print_1D_Mas(float*m,int n)
{
for(int j=0;j<n;j++)
printf("%6.2f ",m[j]);
printf("\n");
}
void Clear_1D_Mas(float*m)
{
if(m==NULL)
{
printf("масив не створений");
}
if(m)
{
delete[]m;
m=NULL;
}
}
int main()
{
clrscr();
float*arr;
int n=5;
Create_1D_Mas(arr,n);
Printf(“Введіть елементи масиву\n”);
Vvod_1D_Mas(arr,n);
Printf(“Вихідний масив:\n”);
Sortirovka_1D_Mas(arr,n);
Print_1D_Mas(arr,n);
Clear_1D_Mas(arr);
getch();
return 0;
}
Тестування:
Для перевірки правильності роботи програми введемо в неї дані, при введені яких результат заздалегідь відомий.
Наприклад сформуємо масив з 5 елементів такого виду:
4 2 5 1 2
З введених даних наочно видно, що впорядкованим за зростанням масивом з даних елементів буде масив:
1 2 3 4 5
Тепер введемо ці ж дані в програму і перевіримо результат.
Введіть елементи масиву
4
2
5
1
2
Вихідний масив:
1 2 3 4 5
Приклад виконання завдання 2
Варіант 6. Розробити програму для виводу на екран суми усіх негативних елементів кожного рядка даного двовимірного динамічного масиву і їх кількості в кожному рядку.
Дана програма буде складатися з основної функції int main(), та п’яти функцій для виконання поставленої задачі.
F2D Create_2D_Mas(F2D m,int str,int stp) - функція призначена для створення масиву;
void Vvod_2D_Mas(F2D m,int str,int stp) - функція призначена для введення масиву;
void Obrobka_2D_Mas(F2D m,int str,int stp) - функція призначена для обчислення суми усіх негативних елементів кожного рядка даного двовимірного динамічного масиву і їх кількості в кожнім рядку;
void Print_2D_Mas(F2D m,int str,int stp) - функція призначена для виведення масиву;
void Clear_2D_Mas(F2D m,int str,int stp) - функція призначена для очистки масиву
Програма буде мати наступний вигляд: