- •1. Загальні відомості 7
- •1. Загальні відомості
- •1.1. Структура програми
- •1.2. Типи даних
- •2. Лабораторна робота 1. «Обчислення арифметичних виразів» (2 год.)
- •2.1. Теоретичні відомості
- •2.2.1. Приведення типів
- •2.2. Постановка задачі
- •2.3. Варіанти
- •2.4. Методичні вказівки
- •Постановка задачі.
- •3.1. Теоретичні відомості
- •3.1.1. Умовний оператор if-else
- •3.1.2. Оператор вибору switch
- •3.1.3. Оператори циклу
- •3.1.4. Приклад. Побудова геометричної фігури
- •3.2. Постановка задачі
- •3.3. Варіанти
- •3.4. Методичні вказівки
- •Постановка задачі.
- •4. Лабораторна робота 3. «Обчислення ряду. Форматне введення-виведення даних» (2 год.)
- •4.1. Теоретичні відомості
- •4.1.1. Поняття ряду. Ітераційний процес
- •4.1.2.Форматне виведення даних
- •4.1.3.Форматне введення
- •4.1.4. Приклад. Програма обчислення ряду
- •4.2. Постановка задачі
- •4.3. Варіанти
- •4.4. Методичні вказівки
- •Постановка задачі.
- •5. Лабораторна робота 4. «Функції. Ітераційні процеси» (4 год.)
- •5.1. Теоретичні відомості
- •5.1.1.Ступеневі ряди
- •5.2. Постановка задачі
- •5.3. Варіанти
- •5.4. Методичні вказівки
- •Постановка задачі.
- •6. Лабораторна робота 5. «Масиви й покажчики. Введення й виведення елементів» (2 год.)
- •6.1. Теоретичні відомості
- •6.1.1. Оголошення масиву
- •6.1.2. Масиви й покажчики
- •6.1.3. Записи «покажчик-зсув» і «покажчик-індекс»
- •6.1.4. Пошук найменшого й найбільшого елементів масиву
- •6.2. Постановка задачі
- •6.3. Варіанти
- •Постановка задачі.
- •7.1.2. Масив випадкових чисел
- •7.1.3. Видалення елемента із масиву
- •7.1.4. Вставка елемента в масив
- •7.1.5. Перестановка двох елементів
- •7.1.6. Циклічна перестановка елементів
- •7.2. Постановка задачі
- •7.3. Варіанти
- •Постановка задачі.
- •8.1.2. Передача масиву у функцію
- •8.1.3. Приклад. Функції введення й виведення елементів матриці
- •8.2. Постановка задачі
- •8.3. Варіанти
- •8.4. Методичні вказівки
- •Постановка задачі.
- •9. Лабораторна робота 8. «Сортування масивів» (4 год.)
- •9.1. Теоретичні відомості
- •9.1.1. Метод обміну (бульбашковий)
- •9.1.2. Метод прямого вибору
- •9.1.3. Метод вставок
- •9.1.4. Порівняння ефективності алгоритмів сортування
- •9.1.5. Генерація псевдовипадкових чисел
- •9.2. Постановка задачі
- •9.3. Методичні вказівки
- •Постановка задачі.
- •10. Лабораторна робота 9. «Рядки» (4 рік.)
- •10.1. Теоретичні відомості
- •10.1.1. Функції для роботи із символами
- •10.1.2. Строкові константи
- •10.1.3. Рядки як масиви
- •10.1.4. Передача рядка у функцію
- •10.1.4. Уведення/виведення символів і рядків
- •10.1.4. Функції обробки рядків
- •10.2. Постановка задачі
- •10.3. Варіанти
- •10.4. Методичні вказівки
- •Постановка задачі.
- •Література
Постановка задачі.
Варіант завдання.
Код програми.
Скріншот вікна з результатами обчислень і результатами розв'язку конкретного варіанта..
8. Лабораторна робота 7. «Двовимірні масиви й функції» (4 год.)
Ціль роботи: Навчитися визначати й ініціалізувати багатовимірні масиви, освоїти операції над масивами з використанням функцій. Вивчити передачу масиву й елементів масиву у функцію.
8.1. Теоретичні відомості
8.1.1. Обробка багатовимірних масивів
При оголошенні багатовимірного масиву необхідно вказати, що масив має більш ніж один вимір, наприклад,.
int t[2][3];
– оголошення двовимірного масиву з 2 рядків і 3 стовпців. Елементи цього масиву: розташовуються в пам'яті одне за одним.
t[0][0] t[0][1] t[0][2]
t[1][0] t[1][1] t[1][2]
Тобто багатовимірний масив подається як одновимірний масив, кожний з елементів якого, у свою чергу, являє собою масив.
8.1.2. Передача масиву у функцію
Масив у функцію передається через адресу першого елемента масиву. Для цього використовується операція непрямої адресації (*), тобто покажчик на масив. У списку аргументів прототипу й визначення функції ставиться покажчик, а у виклику функції – ім'я масиву. Наведемо приклад визначення й виклику функції enter, яка призначена для введення елементів одновимірного масиву:
#include <stdio.h>
void enter(int []); //Прототип функції
void main(){
int v[5];
enter(v); //Виклик функції
}
void enter(int a[]) { //Визначення функції
for (int i=0; i<5; i++)
scanf("%d", &a[i]);
}
Замість enter(int a[]) в оголошенні функції можна використовувати запис: enter(int *a). При передачі у функцію багатовимірного масиву повинні бути зазначені границі всіх вимірів, крім першого. Наприклад, для двовимірного масиву:
int arr[2][3]={{1,2,3},{4,5,6}}; //Визначення масиву
void display (int a[][3], int n1) { //Визначення функції
for (int i=0; i<n1; i++){
for (int j=0; j<3; j++) cout << a[i][j] << " ";
cout<<endl;
}
}
. . .
display (arr); //Виклик функції
8.1.3. Приклад. Функції введення й виведення елементів матриці
Нехай значення елементів квадратної матриці вводяться за допомогою окремої функції enter. Необхідно замінити всі від’ємні значення елементів їхніми модулями й вивести отриманий масив за допомогою функції display..
#include <stdio.h>
#define num 3
void enter(int [][num], int);
void display(int [][num], int);
void main() {
int arr[num][num];
enter(arr, num);
for (int i=0; i<num; i++)
for (int j=0; j<num; j++)
if (arr[i][j]<0) arr[i][j]= - arr[i][j];
display(arr, num);
}
void enter(int u[][num], int n){
for (int i=0; i<n; i++){
printf("\nEnter %d string of matrics", i+1);
for (int j=0; j<n; j++)
scanf("%d", &u[i][j]);}
}
void display(int u[][num], int n){
for (int i=0; i<n; i++){
for (int j=0; j<n; j++)
printf("%d\t", u[i][j]);
printf("\n");}
}
Зверніть увагу на виклик функції: enter(arr, num). Приймаюча функція одержує не весь масив, а тільки адресу першого елемента масиву.
8.2. Постановка задачі
Скласти програму, використовуючи окремі функції для розв'язку кожної задачі свого варіанта. Масив повинен передаватися у функції як параметр.