Анализ результатов и выводы.
************************************ Пример отчета о выполнении лабораторной работы № 5
ЛАБОРАТОРНАЯ РАБОТА № 5 На тему: «Обработка двухмерных массивов»
1. Постановка задачи. Задана квадратная матрицаA размером N x N (N<=10), состоящая из целочисленных элементов. Найти среднее арифметическое всех элементов расположенных в четных строках этой матрицы. Ввод-вывод элементов матрицы, а также обработку матрицы организовать через подпрограммы.
2.Описание входных и выходных данных Исходные данные: n – количество строк и столбцов соответственно двухмерного массива целочисленных чисел; int a[k][k] – целочисленный двухмерный массив; Результирующие данные: 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);
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; } 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 Недостатком программы является то, что отсутствует проверка на ввод отрицательных значений для размера матрицы.
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (317)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |