![](/user_photo/2706_HbeT2.jpg)
Варианты заданий.
№ варианта |
Задание |
1 |
Заменить первый элемент массива суммой максимального и минимального элементов. |
2 |
Заменить последний элемент массива суммой максимального и минимального элементов. |
3 |
Заменить первый элемент массива произведением максимального и минимального элементов. |
4 |
Заменить последний элемент массива произведением максимального и минимального элементов. |
5 |
Заменить первый элемент массива частным максимального и минимального элементов. |
6 |
Заменить последний элемент массива частным максимального и минимального элементов. |
7 |
Заменить первый элемент массива средним арифметическим максимального и минимального элементов. |
8 |
Заменить последний элемент массива средним арифметическим максимального и минимального элементов. |
9 |
Заменить первый элемент массива средним геометрическим максимального и минимального элементов. |
10 |
Заменить последний элемент массива средним геометрическим максимального и минимального элементов. |
11 |
Заменить первый элемент массива полуразностью максимального и минимального элементов. |
12 |
Заменить последний элемент массива полуразностью максимального и минимального элементов. |
Лабораторная работа № 4
Вложенные циклы и разветвления в матричных задачах.
ЦЕЛЬ РАБОТЫ.
-
научиться использовать в программах многомерные массивы и сложные сочетания циклов и разветвлений.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ.
-
Дана матрица A. В соответствии с вариантом задания произвести вычисления с элементами данной матрицы.
-
Составьте отчет о выполнении лабораторной работы, в который включите:
-
Название и цель работы;
-
Индивидуальное задание;
-
Текст программы;
-
Результат решения задачи;
-
Блок-схему алгоритма решения задачи.
-
ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ.
Поменять местами строки квадратной матрицы A (10 х 10), содержащие максимальный и минимальный элементы матрицы.
Будем хранить элементы матрицы A в двумерном массиве a[10][10], а текущие значения максимального и минимального элементов и номера их строк в переменных max, min, m и n соответственно.
Предположим, что максимальный и минимальный элементы массива есть его первый элемент. Далее во вложенных циклах будем сравнивать эти значения с остальными элементами и, когда очередной элемент массива окажется больше или меньше значения max и min соответственно, исправим их на новые значения. Одновременно в переменных m и n будем сохранять номер строки этого элемента. И, наконец, если m не равно n, то переставим местами соответствующие строки матрицы.
/* Лабораторная работа 4 */
#include <stdio.h>
void main()
{
int i, j, m = 0, n = 0;
float a[10][10], max, min, u;
/*Ввод элементов матрицы*/
for(i = 0; i < 10; i++ )
{
printf(”\n”);
for(j = 0; j < 10; j++)
scanf(”%f ”, &a[i][j]);
}
/*Поиск максимального и минимального элементов матрицы */
/*и номеров их строк */
max = min = a[0][0];
for(i = 0; i < 10; i++)
for(j = 0; j < 10; j++)
{
if (a[i][j] > max)
{
max = a[i][j]; m = i;
}
if (a[i][j] < min)
{
min = a[i][j]; n = i;
}
}
/*Перестановка местами строк матрицы/
if (m != n)
for (i = 0; i < 10; i++)
{
u = a[m][i];
a[m][i] = a[n][i];
a[n][i] = u;
}
/*Вывод элементов новой матрицы/
for (i = 0; i < 10; i++ )
{
printf (”\n”);
for (j = 0; j < 10; j++ )
printf(” %f ”, a[i][j]);
}
}