Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Лабораторна робота №10
ТЕМА: Двовимірні масиви.
Мета: ознайомлення з поняттям двовимірний масив. Набуття практичних навичок з типових задач обробки одновимірних масивів.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Елементи двовимірного масиву (числової таблиці) реалізуються з допомогою вкладених циклів. На внутрішньому циклі виконується одна із задач обробки елементів одновимірного масиву (рядка або стовпця), а на зовнішньому відбувається перехід від одного стовпця (рядка) до іншого.
Всі задачі обробки матриць реалізуються по одній із двох фрагментів типових блок-схем (рисунок 1-а чи рисунок 1-б). Блок-схема 1-а, застосовується в тому випадку, якщо потрібно знайти результат, що характеризує елементи всієї матриці (наприклад, найбільший елемент матриці, сума відємних елементів матриці, кількість елементів більших числа Z в матриці і т.д.). Фрагмент блок-схеми 1-б здійснює одержання показника для рядків або стовпців матриці (наприклад, кількість елементів менших числа Z в кожному стовпці матриці).
а) б)
Рисунок 1 Два типових алгоритми обробки елементів матриць
Якщо вибір індексу для зовнішнього циклу для фрагмента 1а) не впливає на результат роботи алгоритму, для фрагмента 1б) таким індексом (рядків чи стовпців) обовязково повинен бути той, для якого розвязується задача. Наприклад, для задачі підрахунку суми додатніх елементів в кожному стовпці матриці індексом зовнішнього циклу повинен бути індекс стовпців.
Таким чином, при розробці алгоритму обробки елементів двовимірного масиву рекомендується притримуватися такої інструкції:
Приклад. Знайти добуток додатніх елементів в стовпцях матриці. Вважається, що матриці в оперативній памяті немає її треба буде ввести. Звертаємось до інструкції:
Тому блок-схема повинна мати вигляд:
Приклад блок-схеми для обробки елементів матриці
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Теоретичні відомості:
Розкрити сутність багатовимірних масиів на прикладі двовимірного. Продемонструвати типові методи обробки масивів з допомогою вкладених конструкцій (задача знаходження суми, кількості елементів по всій матриці та по стовпцях чи рядках).
Введення елементів масиву здійснити двома способами:
Завдання для практичного виконання:
Варіант 1
Варіант 2
Варіант 3
Варіант 4
Варіант 5
Варіант 6
Варіант 7
Варіант 8
Варіант 9
Варіант 10
Варіант 11
Варіант 12
Варіант 13
Варіант 14
Варіант 15
Приклад виконання роботи:
Значення елементів двомірного масиву формується датчиком випадкових чисел.
#include <stdio.h>
#include <conio.h>
#include <time.h>// Ce potribno dlya datchuka vupadkovux chusel
#include <stdlib.h>
void main()
{
int mas[8][10],i,n,*buf_mas;
clrscr();
randomize();//Inicializaciya datchuka vupadkovux chusel
buf_mas=mas;
for(n=0;n<8;n++)
for(i=0;i<10;i++,buf_mas++)
{
*buf_mas =random(299);// Potochnomy elementy masuvy
// prusvoyuetsya vupadkove znachennya v diapazoni 0..299.
// Сya operaciya rivnoculna mas[n][i] =random(299);
printf("%5d",*buf_mas);
}
getch();
return;
}
Знайти суму додатніх елементів матриці.
i=1, n, 1
D=1
=1, m, 1
Зовнішній цикл
Підготовчі операції
Використання результату
Внутрішній цикл
Блоки
тіла
циклу
А
Зовнішній цикл
Підготовчі операції
Використання результату
Внутрішній цикл
Блоки
тіла
циклу
А
D=D*a(i,j)
a(i,j)>0
так
ні
Вивести
j, D
Кінець
Ввести n, m
i=1, n, 1
Ввести a(i,j)
j=1, m, 1
А
А
Початок