DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

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

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

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

Про що ця робота

У звіті з лабораторної роботи досліджено створення, ініціалізацію та маніпуляції з одновимірними й двовимірними масивами мовою C. Наведено код програми для введення даних з клавіатури, через аргументи командного рядка або за допомогою генератора випадкових чисел.

У роботі розглядаються

  • Масиви в мові C
  • Одномірні масиви
  • Двовимірні масиви
  • Вказівники та пам'ять
  • Ініціалізація масивів
  • Обробка елементів масиву
  • Аргументи командного рядка

Зміст і розділи

  1. Завдання на лабораторну роботу
  2. Теоретичні відомості
  3. Код програми
  4. Висновок
Для кого:Студенти технічних спеціальностей, викладачі дисципліни Алгоритмізація та програмування
Викладачі:Не вказано

Ключові поняття

масиввказівникодномірний масивдвовимірний масивініціалізаціяелемент масивуаргументи командного рядкапам'ятьалгоритмпрограма

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

Національний технічний університет України «КПІ імені Ігоря Сікорського» Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з лабораторної роботи № 4 з дисципліни «Алгоритмізація та Програмування» Тема «Масиви та вказівники» Варіант: 18 Завдання на лабораторну роботу 1. Створити одновимірний та двовимірний масиви. 2. Виконати початкову ініціалізацію всіх елементів масиву. 3. Виконати маніпуляції з елементами масивів. У якості індивідуального завдання необхідно написати програму, в якій, на першому етапі, користувачем задається вимірність та розмірність масиву та спосіб ініціалізації (з клавіатури/консолі або випадковими числами) елементів масиву. На другому етапі необхідно скористатися варіантом індивідуального завдання з Додатку В-4. Мій варіант 18: Теоретичні відомості: Масив це структура даних, представлена у вигляді групи осередків одного типу, об'єднаних під одним єдиним ім'ям. Масиви використовуються для обробки великої кількості однотипних даних. Ім'я масиву є покажчиком, що таке покажчики розповім трохи пізніше. Окрема осередок даних масиву називається елементом масиву. Елементами масиву можуть бути дані будь-якого типу. Масиви можуть мати як одне, так і більше одного вимірювань. Залежно від кількості вимірювань масиви діляться на одномірні масиви, двовимірні масиви, тривимірні масиви і так далі до n-мірного масиву. Найчастіше в програмуванні використовуються одномірні і двовимірні масиви Код програми: //[ім’я автора приховано] 12.11.2021 Лабораторна робота №4 Алгоритмізація та програмування 18 варіант #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int answer, lengthArr1, lengthArr2Dim1, lengthArr2Dim2; printf("Length of the first array: "); scanf("%d", &lengthArr1); int arr1[lengthArr1]; printf("Choose the way\n1 - keyboard input;\n2 - cmd parametrs;\nanything else - random numbers\n"); printf("****************************\n>"); scanf("%d", &answer); if (answer == 1) { for(int i = 0; i < lengthArr1; i++) { printf("Element %d: ", i); scanf("%d", &arr1[i]); } printf("Filling is finished\n"); } else if (answer == 2) { printf("CMD parametrs should look like this \"1 2 3 4 5 6\".\nThe result will be: arr1[0] = 1, arr2[0][1] = 4, arr2[1][0] = 5\n"); if (argc - 1 < lengthArr1) { answer = 0; } else { for (int i = 0; i < lengthArr1; i++) { arr1[i] = atoi(argv[i + 1]); printf("Element %d: %d\n", i, arr1[i]); } printf("Filling is finished\n"); } } if (answer != 1 && answer != 2) { int min, max; printf("Set the limits: "); scanf("%d-%d", &min, &max); if (max < min) max = max + min + 1; for (int i; i < lengthArr1; i++) { arr1[i] = min + rand() % (max + 1 - min); printf("Element %d: %d\n", i, arr1[i]); } printf("Filling is finished\n"); } printf("****************************\n>"); /////////////////////////////////////////////// printf("Sizes of the second array(AxB): "); scanf("%dx%d", &lengthArr2Dim1, &lengthArr2Dim2); int arr2[lengthArr2Dim1][lengthArr2Dim2]; printf("Choose the way\n1 - keyboard input;\n2 - cmd parametrs;\nanything else - random numbers\n"); printf("****************************\n>"); scanf("%d", &answer); if (answer == 1) { for (int i = 0; i < lengthArr2Dim1; i++) { for (int j = 0; j < lengthArr2Dim2; j++) { printf("Element [%d][%d]: ", i, j); scanf("%d", &arr2[i][j]); } } printf("Filling is finished\n"); } else if (answer == 2) { printf("CMD parametrs should look like this \"1 2 3 4 5 6\".\nThe result will be: arr1[0] = 1, arr2[0][1] = 4, arr2[1][0] = 5\n"); if (argc - 1 - lengthArr1 < lengthArr2Dim1 * lengthArr2Dim2) { answer = 0; } else { for (int i = 0; i < lengthArr2Dim1; i++) { for (int j = 0; j < lengthArr2Dim2; j++) { arr2[i][j] = atoi(argv[i * lengthArr2Dim1 + j + lengthArr1 + 1]); printf("Element [%d][%d]: %d\n", i, j, arr2[i][j]); } } printf("Filling is finished\n"); } } if (answer != 1 && answer != 2) { int min, max; printf("Set the limits: "); scanf("%d-%d", &min, &max); if (max < min) max = max + min + 1; for (int i = 0; i < lengthArr2Dim1; i++) { for (int j = 0; j < lengthArr2Dim2; j++) { arr2[i][j] = min + rand() % (max + 1 - min); printf("Element [%d][%d]: %d\n", i, j, arr2[i][j]); } } printf("Filling is finished\n"); } /////////////////////////////////////////////// printf("****************************\n"); printf("Task1: remove all even elements from the array\n"); int lengthNewArr1 = 0; for (int i = 0; i < lengthArr1; i++) { if (arr1[i] % 2 != 0) lengthNewArr1++; } int newarr1[lengthNewArr1]; int counter = 0; printf("Task1 result:\n"); for (int i = 0; i < lengthArr1; i++) { if (arr1[i] % 2 != 0) { newarr1[counter] = arr1[i]; printf("Element %d: %d\n", counter, newarr1[counter]); counter++; } } //////////////////////////////////////////////// printf("****************************\n"); printf("Task2: add K amount of columns to the array\nEnter K: "); int k; scanf("%d", &k); int newarr2[lengthArr2Dim1][lengthArr2Dim2 + k]; for (int i = 0; i < lengthArr2Dim1; i++) { for (int j = lengthArr2Dim2; j < lengthArr2Dim2 + k; j++) { printf("Element [%d][%d]: ", i, j); scanf("%d", &newarr2[i][j]); } } printf("Filling is finished\n"); printf("Task2 result:\n"); for (int i = 0; i < lengthArr2Dim1; i++) { for (int j = 0; j < lengthArr2Dim2 + k; j++) { if (j < lengthArr2Dim2) newarr2[i][j] = arr2[i][j]; printf("Element [%d][%d]: %d\n", i, j, newarr2[i][j]); } } return 0; } Посилання на програму в repl.it: https://replit.com/join/vlrvpsevqg-dolphiedude Приклад результату кода: Висновок: Я ознайомився із масивами. Дослідив особливості їхнього застосування. Це мені дозволило написати програму, що заповнює значеннями масиви та працює із цими значеннями. Тобто реалізував ініціалізацію одновимірного та двовимірного масиву, маніпуляції із ними. Редагував масив щоб прибрати усі парні елементі. Чи додавав K кількість стовпчиків в двовимірний масив
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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