Оголошення багатовимірного масиву 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Оголошення багатовимірного масиву



При оголошенні багатовимірного масиву необхідно вказати, що масив має більш ніж один вимір, наприклад,.

int t[2][3];

– оголошення двовимірного масиву з 2 рядків і 3 стовпців. Елементи цього масиву: розташовуються в пам'яті одне за одним.

t[0][0] t[0][1] t[0][2]

t[1][0] t[1][1] t[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(inta[]) в оголошенні функції можна використовувати запис: 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); //Виклик функції

Постановка задачі

Скласти програму, використовуючи окремі функції для розв'язку кожної задачі свого варіанта. Масив повинен передаватися у функції як параметр.

Варіанти

1. Ввести двовимірний масив, у якому числа 0 і 1 розміщені випадковим чином, а число стовпців не збігається із числом рядків. Визначити функцію ініціалізації масиву й функцію виведення на екран. Порахувати скільки сусідніх елементів, рівних 1, є у елемента (2;2).

2. На головній діагоналі квадратной матрицірозташуватиі числа від N до 1, під головною діагоналлю нулі, а над головною діагоналлю по рядках числа в порядку зростання від заданого. Оформити заповнення масиву у вигляді окремої функції ініціалізації. Вивести отриману матрицю за допомогою функції.

3. На головній діагоналі квадратной матрицізнаходяться елементи рівні 1, нижче головної діагоналі - 0, а вище - сумі індексів. Оформити заповнення масиву у вигляді окремої функції. Виведіть матрицю на екран (функція).

4. Написати функцію транспонування квадратної матриці. З її допомогою визначити чи є задана матриця симетричної (транспонована матриця дорівнює вихідній).

5. Заповнити квадратну матрицю випадковими числами (функція). Написати функцію транспонування матриці. Написати функцію додавання матриць. Скласти вихідну матрицю й транспоновану. Вивести матриці на екран (функція).

6. Заповнити квадратну матрицю випадковими числами (функція). Написати функцію для видалення одного рядка. Після видалення рядка останній рядок матриці повинен бути заповнено нулями. Вивести вихідну й отриману матриці на екран (функція).

7. Написати функцію для обчислення суми елементів квадратної матриці, які розташовані нижче головної діагоналі. З її допомогою знайти максимальне значення такої суми (функція) в N матрицях випадкових чисел (функція).

8. Заповнити квадратну матрицю випадковими числами (функція). Написати функцію для пошуку мінімального елемента в зазначеному рядку. Зрушити елементи цього рядка циклічно вліво на кількість елементів, рівну мінімальному елементу рядка. Вивести вихідну й отриману матриці (функція).

9. Заповнити квадратну матрицю випадковими числами (функція). Знайти суму елементів першого стовпця без одного останнього елемента, суму елементів другого стовпця без двох останніх, суму елементів третього стовпця без трьох останніх і т.д. Останній стовпець не обробляється. Серед знайдених сум знайти максимальну (функція).

10. Заповнити квадратну матрицю випадковими числами (функція). Знайти мінімальний з неповторюваних елементів матриці. Вивести матрицю (функція) і мінімальний елемент на екран.

11. Заповнити квадратну матрицю випадковими числами (функція). Знайти середнє арифметичне першого стовпця (функція) і кількість елементів матриці, що перевищують середнє арифметичне першого стовпця.

12. Заповнити квадратну матрицю випадковими числами (функція). Знайти середнє арифметичне головної діагоналі (функція) і кількість елементів у першому рядку, менших цього середнього арифметичного.

13. Заповнити квадратну матрицю випадковими числами (функція). Визначити скільки елементів матриці більше будь-якого елемента на головній діагоналі. Вивести масив (функція). і елементи, що задовольняють заданій умові.

14. Заповнити квадратну матрицю випадковими числами (функція). Знайти середнє арифметичне найбільшого (функція) і найменшого (функція) її елементів. Замінити отриманим середнім арифметичним всі елементи заданого рядка. Вивести на екран вихідний і отриманий масиви (функція).

15. Заповнити квадратну матрицю випадковими числами з діапазону від -10 до 10 (функція). Записати всі додатні елементи двовимірного масиву в одновимірний масив arrP, а від’ємні - в одновимірний масив arrN. Вивести вихідний (функція) і отриманий (функція) масиви на екран.

16. Заповнити квадратну матрицю випадковими числами з діапазону від -10 до 10 (функція). Обчислити суму елементів, що перебувають нижче поточного рядка, але вище головної діагоналі (функція). Записати подібні суми в одновимірний масив s[k] (k - номер поточного рядка). Знайти найбільшу із цих сум (функція). Вивести вихідний (функція) і одновимірний (функція) масиви.

17. Заповнити квадратну матрицю випадковими числами від -20 до 20 (функція). Обчислити суму елементів, що перебувають вище поточного рядка, але нижче головної діагоналі (функція). Записати подібні суми в одновимірний масив s[k] (k - номер поточного рядка). Знайти найменшу із цих сум (функція). Вивести вихідний (функція) і одновимірний (функція) масиви на екран.

18. Заповнити квадратну матрицю випадковими числами від -10 до 10 (функція). Обчислити суми елементів рядків (функція) і записати їх в одновимірний масив. Знайти найменшу (функція) і найбільшу (функція) із цих сум. Вивести вихідний (функція) і одновимірний (функція) масиви на екран.

19. Заповнити квадратну матрицю випадковими числами від -20 до 20 (функція). Обчислити суми елементів на всіх діагоналях (функція) і записати їх в одновимірний масив. Знайти найменшу (функція) і найбільшу (функція) із цих сум. Вивести вихідний (функція) і одновимірний (функція) масиви на екран.

20. Заповнити квадратну матрицю випадковими числами (функція). Написати програму побудови одновимірних масивів, елементи яких рівні а) сумам елементів рядків (функція); б) добуткам елементів рядків (функція). Вивести вихідний (функція) і одновимірні (функція) масиви на екран.

21. Заповнити квадратну матрицю випадковими числами (функція). Написати програму побудови одновимірного масиву, елементи якого рівні різниці найбільшого (функція) і найменшого (функція) елементів рядків. Вивести вихідний (функція) і одновимірні (функція) масиви на екран.

22. Заповнити квадратну матрицю випадковими числами від -10 до 10 (функція). Для даного двовимірного масиву обчислити й запам'ятати в іншому двовимірному масиві суму (функція) і число додатних елементів (функція) кожного стовпця вихідного двовимірного масиву. Вивести вихідний і отриманий масиви на екран (функція).

23. Заповнити квадратну матрицю випадковими цілими числами (функція). Знайти для кожного рядка число елементів, кратних 5 (функція), записати інформацію в одновимірний масив і знайти найбільший з отриманих результатів. Вивести вихідний (функція) і одновимірний (функція) масиви на екран.

24. Заповнити двовимірний масив випадковими цілими числами (функція). Знайти найбільший (функція) і найменший (функція) елементи масиву й, чергуючи, заповнити ними одновимірний масив заданої розмірності. Вивести вихідний (функція) і одновимірний (функція) масиви на екран.

25. Заповнити квадратну матрицю випадковими числами з діапазону від -50 до 50 (функція). Сформувати одновимірний масив шляхом ділення додатних елементів матриці на число k. Вивести вихідний (функція) і отриманий (функція) масиви на екран.

Методичні вказівки

Всі основні операції над масивом, які виконуються відповідно варіанту завдання, реалізуються за допомогою функцій У більшості варіантів приініціалізації масиву використовується генератор випадкових цілих чисел (див. лабораторну роботу №5).

Зміст звіту

Звіт з виконаної роботи включає наступні розділи:титульний лист, постановка задачі, варіант завдання, текст програми, скріншот з результатами роботи програми, висновки.


 

Лабораторна робота6.
«Динамічні одновимірні масиви» (2 год.)

Ціль роботи: Формуванняуміння створювати й видаляти динамічні масиви, ініціалізувати масив випадковими числами. Освоєння прийомів вставки й видалення елементів із масиву, перестановок елементів і ін.

Теоретичні відомості

Динамічні масиви

Якщо до початку роботи програми число елементів у масиві невідоме або це число змінюється в процесі обчислень, варто використати динамічні масиви. Пам'ять під такі масиви виділяється в ході виконання програми за допомогою операції new. Адреса початку масиву зберігається у змінній - покажчику, наприклад,

int n=20;

float *a = new float[n];

Обнулювання пам'яті при її виділенні не відбувається. Ініціалізувати динамічний масив не можна. Звертання до елемента динамічного масиву здійснюється так само, як і звертання до елемента звичайного, наприклад, a[5] або *(a+5).

Якщо динамічний масив для роботи програми більше не потрібний, можна звільнити пам'ять, що він займав. Це виконується інструкцією:

delete [] a;

Квадратні дужки для видалення масиву обов'язкові, розмір масиву не вказується.



Поделиться:


Последнее изменение этой страницы: 2016-12-29; просмотров: 547; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.136.165 (0.01 с.)