************************************
Пример отчета о выполнении лабораторной работы № 5
ЛАБОРАТОРНАЯ РАБОТА № 5
На тему: «Обработка двухмерных массивов»
1. Постановка задачи.
Задана квадратная матрица A размером N x N (N<=10), состоящая из целочисленных элементов. Найти среднее арифметическое всех элементов расположенных в четных строках этой матрицы. Ввод-вывод элементов матрицы, а также обработку матрицы организовать через подпрограммы.
2.Описание входных и выходных данных
Исходные данные:
n – количество строк и столбцов соответственно двухмерного массива целочисленных чисел;
int a[k][p] – целочисленный двухмерный массив;
Результирующие данные:
s – среднее арифметическое всех элементов расположенных в четных строках матрицы.
3.Набор тестов
Исходные данные:
n=3,
Выходные данные
s = 4.000000
4.Описание алгоритма.
Ввести порядок матрицы, т.е. количество строк и столбцов. Заполняется массив случайными числа и выводится на экран. Далее, вычисляется сумма тех элементов, которые расположены в четных строках, вычисляя при этом количество этих элементов. Для определения четной строки можно использовать операцию выделения остатка от целочисленного деления (%). В заключении разделим суммы элементов на их количество.
5. Блок-схема решения задачи:
Основная программа:
Функция ввода значений элементов матрицы CreateMas1(int a[][10], int k):
![]() |
Функция вывода матрицы на экран VivodMas1(const int a[][10], int k)
![]() |
Функция вычисления среднего арифметического всех элементов расположенных в четных строках этой матрицы SrArChetStok(int a[][10], int k)
![]() |
6.Текст программы
//вычисление среднего арифметического всех элементов расположенных в //четных строках используются функции:
//void CreateMas1(int a[][10], int k, int k1);--заполняет массив случ. числами
//void VivodMas1(const int a[][10], int k, int k1);--выводит массив на экран
//double SrArChetStok(int a[][10], int k, int k1);--вычис. среднего арифметич.
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
const int p = 10;
//прототипы функций
void CreateMas1(int a[][p], int k);
void VivodMas1(const int a[][p], int k);
double SrArChetStok(int a[][p], int k);
int main()
{
clrscr();
int n,n1;
int a[k][p];
printf("vvedite chislo строк ot 1 do 10\n");
scanf("%d",&n);
CreateMas1(a, n);
VivodMas1(a, n);
double s=SrArChetStok(a, n);
printf("Среднее арифм. элементов в четных строках = %f\n",s);
getch();
return 0;
}
//---F U N C T I O N-------------------------------------------//
void CreateMas1(int a[][p], int k)
{
int i,j;
randomize();
for (i=0; i<k; i++)
for (j=0; j<k; j++)
a[i][j]=random(20);
}
void VivodMas1(const int a[][p], int k)
{
printf("M A S S I V E\n");
int i,j;
for (i=0; i<k; i++)
{
for (j=0; j<k; j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
double SrArChetStok(int a[][p], int k)
{
int i,j,m;
m=0;
double s = 0.0;
for (i=0; i<k; i++)
if (i%2 ==1)
for (j=0; j<k; j++)
{
s1=s1+a[i][j]; //s += a[i][j]
m++;
}
s=m>0? s/m: 0; // аналог оператора if (m>0) s=s/m; else s1=0
return s;
}
7.Анализ результатов и выводы.
Приведенная выше программа осуществляет вычисление среднего арифметического элементов расположенных в четных строках двухмерного массива, при этом используются три функции:
void CreateMas1(int a[][p], int k); - заполняет массив случ. числами;
void VivodMas1(const int a[][p], int k); - выводит массив на экран;
double SrArChetStok(int a[][p], int k); - вычис. среднее арифметическое.
В программе учитывается ввод матрицы содержащей только одну строку, в этом случае на экран выводится:
Среднее арифметическое элементов в четных строках = 0.000000
Недостатком программы является то, что отсутствует проверка на ввод отрицательных значений для размера матрицы.
2. Пример отчета о выполнении лабораторной работы № 4
ЛАБОРАТОРНАЯ РАБОТА № 4
На тему: «Обработка типизированных файлов»
1. Постановка задачи.
2.Описание входных и выходных данных
Исходные данные:
Результирующие данные:
3.Набор тестов
Исходные данные:
Выходные данные:
4.Описание алгоритма.
5. Блок-схема решения задачи:
Основная программа:
Функция ввода значений элементов матрицы:
![]() |
Функция вывода матрицы на экран
![]() |
Функция вычисления среднего арифметического всех элементов расположенных в четных строках этой матрицы
![]() |
6.Текст программы
7.Анализ результатов и выводы.