DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Робота з багатовимірними масивами в мові С

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

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
УІ
Кафедра:
Не вказано

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

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Інформатика та обчислювальна техніка
Варіант:
5

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

Лабораторна робота 11 Тема : «Робота з багатовимірними масивами в мові С» Мета: ознайомлення з поняттям складеного типу даних – масивом та набуття навичок практичної роботи з багатовимірними масивами. Теоретичні відомості В мові С/С++ можливо працювати зі складеними структурами даних – масивами. Розрізняють одновимірні та багатовимірні масиви. Частковим випадком багатовимірних масивів є двовимірні масиви. Обмежень на розмірність масивів, тобто на число індексів, в мові С теоретично немає. Стандарт мови С вимагає, щоб транслятор міг обробляти визначення масивів з розмірністю до 31. Проте частіше всього використовуються одновимірні і двовимірні масиви. Суттєво, що всі елементи матриць або дійсні, або цілі і т.д. Така "однорідність" елементів властива масиву, визначення якого описує тип елементів, ім'я масиву і його розмірність, тобто число індексів, необхідне для визначення конкретного елемента. Крім того, у визначенні вказується кількість значень, яка приймаються кожним індексом. Наприклад, int а[10]; - визначає масив з 10 елементів а[0], а[1] ..., а[9]; float Z[13][[6]; - визначає двовимірний масив, перший індекс якого приймає 13 значень від 0 до 12, другий індекс приймає 6 значень від 0 до 5. Таким чином, елементи двовимірного масиву Z можна перерахувати так: Z[0][0], Z[0][l], Z[0][2],...,Z[12][5] Двовимірний масив – це масив, що складається з окремих одновимірних масивів у вигляді рядків, розмірність яких рівна кількості стовпців матриці. Для цього при визначенні двовимірного масиву у квадратних дужках вказується дві розмірності. Оператор опису двовимірного масиву має вигляд: <тип> <ім’я> [<розмір1>][<розмір2>]; Наприклад: int a[3][5]; // Цілочисельна матриця з 3 рядків і 5 стовпців Масив зберігається у неперервній області пам’яті по рядках, які зберігаються послідовно один за одним, а не у вигляді звичайної двовимірної матриці: a00 a01 a02 a03 a04 a10 a11 a12 a13 a14 a20 a21 a22 a23 a24 | -0-ий рядок- - |-- 1-ий рядок - |- - 2-ий рядок- - | Для доступу до окремого елемента двовимірного масиву використовується конструкція, яка має вигляд a[i][j], де i – номер рядка, j – номер стовпчика. Кожен індекс може змінюватися від 0 до значення, яке на одиницю менше за значення відповідної розмірності. Як і для одновимірного масиву, при описі двовимірного масиву можна задавати початкові значення його елементів. Їх записують у фігурних дужках. Елементи масиву ініціалізуються в порядку їх розміщення у пам’яті. Наприклад: оператор int с[3][4] = {1,2,34,2,3,4,1,3,4,1,2}; визначає матрицю з наступними значеннями елементів: 1 2 3 4 2 3 4 1 3 4 1 2 Можна задавати початкові значення не для всіх елементів масиву. Для цього список значень для кожного рядка береться додатково у фігурні дужки. Наприклад: int d[3][4] = {{0,1,2},{9,-2},{-7,1,6,8}}; В даному випадку розмірність, що позначає кількість рядків, можна не вказувати. Приклад введення та виведення масиву: #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- #include <stdio.h> #include <conio.h> #define n 2 #define m 3 #include <stdlib.h> #pragma argsused int main(int argc, char* argv[]) { int i,j,x[n][m]; for(i=0;i<n;i++) for(j=0;j<m;j++) x[i][j]=-10+rand()%20; for(i=0;i<n;i++) { printf("\n"); for(j=0;j<m;j++) printf(" %5d",x[i][j]); } getch(); return 0; } Приклад виконання роботи: Завдання. Для кожного рядка матрицi знайти i надрукувати суму значень елементiв, що перевищують число Z. Блок-схема алгоритму:  Програмна реалізація: #include <vcl.h> #pragma hdrstop #include<stdio.h> #include<conio.h> #include<values.h> #define n 3 #define m 4 //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { clrscr(); int i,j; float x[n][m], z,s; for(i=0;i<n;i++) for(j=0;j<m;j++) { printf("\n x[%d,%d]", i, j); scanf("%f", &x[i][j]); } printf("\n z:"); scanf("%f",&z); clrscr(); printf("\n Zadano matrica:"); for(i=0;i<n;i++) { printf("\n"); for(j=0;j<m;j++) printf(" %f",x[i][j]); } printf("\n Rezultat"); for(i=0;i<n;i++){ s=0; for(j=0;j<m;j++) if(x[i][j]>z) s+=x[i][j]; printf("\n\nSuma chisel greater than z=%f v %d-omu ryadru :", z,i,s); } getch(); return 0; } Результати роботи програми: Zadano matrica: 2 4 7 1 3 6 4 7 8 9 4 3 Rezultat Suma chisel greater than 5 v 0-omu ryadru :7 Suma chisel greater than 5 v 1-omu ryadru :13 Suma chisel greater than 5 v 2-omu ryadru :17   Варіанти індивідуальних завдань: 5. В двовимірному масиві підрахувати кількість додатніх елементів.   Програмна реалізація: #include <stdio.h> #include <conio.h> #define n 3 #define m 3 int main() { float k, x[n][m]; int i,j; for(i=0;i<n;i++) for(j=0;j<m;j++) { printf("\n x[%d][%d]", i,j); scanf("%f",&x[i][j]); } k=0; for(i=0;i<n;i++) for(j=0;j<m;j++) if(x[i][j]>0) k++; printf("\n k=%f",k); getch(); return 0; }  Хід виконання роботи: Блок-схема:  Результат роботи програми:  Висновок: в результаті роботи ознайомлено з поняттям складеного типу даних – масивом та набуто навички практичної роботи з багатовимірними масивами.
Антиботан аватар за замовчуванням

19.02.2016 11:06

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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