Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodicheskie_ukazania_po_vypolneniyu_laborator...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
358.91 Кб
Скачать

7.Анализ результатов и выводы.

В данной лабораторной работе были рассмотрены операции целочисленного деления: « / » - выделение целой части и « % » - выделение остатка отделения. Данные операции имеют место, если все операнды арифметического выражения целочисленные.

Проверка результатов работы программы дала положительные результаты.

************************************

Пример отчета о выполнении лабораторной работы № 5

ЛАБОРАТОРНАЯ РАБОТА № 5

На тему: «Обработка двухмерных массивов»

1. Постановка задачи.

Задана квадратная матрица A размером N x N (N<=10), состоящая из целочисленных элементов. Найти среднее арифметическое всех элементов расположенных в четных строках этой матрицы. Ввод-вывод элементов матрицы, а также обработку матрицы организовать через подпрограммы.

2.Описание входных и выходных данных

Исходные данные:

n – количество строк и столбцов соответственно двухмерного массива целочисленных чисел;

int a[k][p] – целочисленный двухмерный массив;

Результирующие данные:

s – среднее арифметическое всех элементов расположенных в четных строках матрицы.

3.Набор тестов

Исходные данные:

n=3,

Выходные данные

s = 4.000000

4.Описание алгоритма.

Ввести порядок матрицы, т.е. количество сток и столбцов. Ввести значения всех элементов матрицы. После ввода всех элементов матрицы вычислим сумму тех элементов, которые расположены в четных строках, вычисляя при этом количество этих элементов. Для определения четной строки можно использовать операцию выделения остатка от целочисленного деления ( % ). В заключении разделим суммы элементов на их количество.

5. Блок-схема решения задачи:

Основная программа:

Функция ввода значений элементов матрицы:

Функция вывода матрицы на экран

VivodMas1(const int a[][10], int k)

i=1..k

j=1..k

конец

a[i][j]

Функция вычисления среднего арифметического всех элементов расположенных в четных строках этой матрицы

SrArChetStok(int a[][10], int k)

s1=0;

m=0;

i=1..k

да

нет

i % 2 =1

j=1..k

s1=s1+a[i][j];

m=m+1;

конец

s1

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);

void 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();

}

//---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;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]