Масиви та вказівники

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2021
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмізація та програмування

Частина тексту файла (без зображень, графіків і формул):

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Алгоритмізація та програмування:Базові концепції програмування ЗВІТ до лабораторної роботи № 3 «Масиви та вказівники» Варіант №12 Дата «21» листопада 2021 Завдання до лабараторної роботи: 1. Створити одновимірний та двовимірний масиви. 2. Виконати початкову ініціалізацію всіх елементів масиву. 3. Виконати маніпуляції з елементами масивів. У якості індивідуального завдання необхідно написати програму, в якій, на першому етапі, користувачем задається вимірність та розмірність масиву та спосіб ініціалізації (з клавіатури/консолі або випадковими числами) елементів масиву. На другому етапі необхідно скористатися варіантом індивідуального завдання з Додатку В-4. / Теоретичні відомості #include <stdlib.h>- бібліотека, який зберігає у собі функції для виділення пам’яті, контролю процесу виконання програми, перетворення типів даних та ін. Для вибору завдання (1 або 2) і вибору способу введенння даних використовуємо умовний оператор if. Загальний вигляд конструкції опису одновимірного масиву такий: <тип> <ім'я масиву> [<розмір>] Розмір - це кількість елементів масиву. Розмір масиву необхідно знати і задавати заздалегідь, оскільки компілятор має зарезервувати для нього необхідний обсяг пам'яті. Розміром може бути лише стала величина. Ім'я масиву у програмі змінювати не можна - це стала величина, яка містить адресу першого елемента. Звернутись до елементів масиву можна двома способами: допомогою імені масиву або використовуючи вказівники. Якщо елемент масиву має не один, а декілька індексів, то такі масиви називаються багатовимірними. Загальний вигляд конструкції опису багатовимірного (N-вимірного) масиву такий: <тип> <ім'я масиву> [<р1>][<р2>]... [<pN>] , де р1, р2, ...,pN задають розміри для кожного виміру. Кількість індексів визначає розмірність масиву: двовимірні масиви мають два індекси, тривимірні — три і т.д. Блок-схема / Код програми: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int N,K; int h,t; int c=0; printf("Завданння\n1.Видалити N+2 елементів, починаючи з K-2 для одновимірного масиву(розмірність 10).\n2.Видалити всі непарні рядки для двовимірного масиву(розмірність 5х5).\nЯкщо бажаєте виконати перше завдання,натисніть 1.\nЯкщо бажаєте виконати друге завдання, натисніть 2.\n"); scanf("%i",&h); if (h==1) { int Lengtharr1 =10; int array1[Lengtharr1]; int *arr1; arr1=array1; printf("Виберіть спосіб ввеення даних:\n1-випадкові дані;\n2-ввести дані з клавіатури(після кожного введеного числа необхідно натискати пробіл, після того, як ви ввели 10 чисел натисніть Enter);\n "); scanf("%i",&t); if(t==1){ for(int i=0;i<Lengtharr1;i++) { arr1[i]=rand()%41-5; } for(int i=0;i<Lengtharr1;i++) { printf("%3i",arr1[i]); } } else if(t==2) { for(int i=0;i<Lengtharr1;i++) { scanf("%i",&arr1[i]); } for(int i=0;i<Lengtharr1;i++) { printf("%3i",arr1[i]); } } else return 0; printf("\nВведіть N:\n"); scanf("%i",&N); printf("Введіть K:\n"); scanf("%i",&K); for (int i=0;i<Lengtharr1;i++) { if(N+2>0&&N+2<10&&K-2>0&&K-2<10) { if(i<K-2) { printf("%3i",arr1[i]); } } } for(int i=0;i<Lengtharr1;i++) { if(N+2>0&&N+2<10&&K-2>0&&K-2<10) { if(i>=N+K) { printf("%3i",arr1[i]); } } else return 0; } } else if(h==2) { int arr2[5][5]; printf("Виберіть спосіб ввеення даних:\n1-випадкові дані;\n2-ввести дані з клавіатури(після кожного введеного числа необхідно натискати пробіл, після кожного п'ятого елементу масиву необхідно натискати Enter);\n "); scanf("%i",&t); if(t==1) { for(int i=0;i<5;i++) { printf("\n"); for(int g=0;g<5;g++) { arr2[i][g]=rand() % 38 + 10; printf("%4i", arr2[i][g]); } } } else if(t==2) { for(int i=0;i<5;i++) { for(int g=0;g<5;g++) { scanf("%i", &arr2[i][g]); } } } printf("\nМасив без непарних рядків:"); for(int i=0;i<5;i++) { if(i!=c && i!=c+2 && i!=c+4) { for(int g=0;g<5;g++) printf("%4i",arr2[i][g]); } printf("\n"); } return 0; } else return 0; } Результати виводу: 1. Видалити N+2 елементів, починаючи з K-2 для одновимірного масиву(розмірність 10). / 2. Видалити всі непарні рядки для двовимірного масиву (розмірність 5х5). / 5.Програмний код (додаток): https://replit.com/join/dgvtpzrbdt-tr-15tkachienko Висновок Під час виконання даної лабараторної роботи я ознайомилася з масивами та вказівниками, створила одновимірний та двовимірний масиви, виконала початкову ініцілізацію елементів масиву, виконала маніпуляції з елементами масивів. Готова програма дає можливість вибору завдання, яке вона буде потім і виконувати, за допомогою введення з клавіатури 1(видалення N+2 елементів, починаючи з K-2 елементу одновимірного масиву) або 2(видалення непарних рядків двовимірного масиву),також можна вибрати спосіб введення даних (за допомогою клавіатури або випадкові значення), для цього також необхідно натиснути 1 або 2.
Антиботан аватар за замовчуванням

14.05.2023 09:05-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!