Балтийский государственный технический университет «Военмех» им.
Кафедра И5
«Информационные системы и компьютерные технологии»
Лабораторная работа № 6
«Двумерные массивы»
Вариант 1
Выполнил:
Студент
Группа ИВ311
Преподаватель:
Санкт-Петербург
2013
Цель работы – освоить работу с матрицами, научиться правильно организовывать циклы для обработки многомерных массивов.
Задача 6.1
Постановка задачи
1. Заполнить матрицу А (7х8) нулями и единицами по следующему правилу: если сумма индексов элемента четная, элемент будет нулевым, если нечетная – единичным.
Блок-схема:
Листинг программы:
#include <stdio. h>
#include <conio. h>
#include <iostream. h>
int main() {
int A[7][8], row, column;
for (row = 0; row < 7; ++row)
{ for (column = 0; column < 8; ++column)
{ if ((row+column)%2==0)
{ A[row][column] = 0;
} else
{ A[row][column] = 1;
}
}
}
cout << "Matrix A\n";
for (int row = 0; row < 7; ++row) {
for (int column = 0; column < 8; ++column) {
cout << A[row][column];
}
cout << "\n";
}
getch();
return 0;
}
Тестирование
Должно быть | Получено |
Matrix A
| Matrix A
|
Вывод: программа работает правильно.
Задача 6.2
Постановка задачи
1. Вычислить
, где Xmin и Xmax – минимальный положительный и максимальный элементы матрицы
X (6х8).
Блок-схема:
Листинг программы:
#include <stdlib. h>
#include <time. h>
#include <conio. h>
#include <stdio. h>
int main() {
float Z;
int A[6][8];
int Min, Max, row, column;
Min=100;
Max=1;
srand(time(NULL));
for (row = 0; row < 6; ++row)
{
for (column = 0; column < 8; ++column)
{
A[row][column] = rand() % 100 +1;
if (A[row][column] < Min )
{
Min = A[row][column];
} else if (A[row][column] > Max)
{
Max = A[row][column];
}
}
}
Z=float (Min) /(float (Max)+ float (Min));
printf("Min=%d, Max=%d, Z=%f",Min, Max, Z);
getch();
return 0;
}
Тестирование
| Ответ | |
Должно быть | Получено | |
A(6x8, 5…100) | Min=5, Max=100, Z=0.047619 | Min=5, Max=100, Z=0.047619 |
A(6x8, 1…96) | Min=1, Max=96, Z=0.010309 | Min=1, Max=96, Z=0.010309 |
Вывод: программа работает правильно.


