Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Задача 39. Вычисление среднего арифметического в строках матрицыСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте Условие задачи. Дана матрица А размера 5*6. В каждой строке матрицы найти среднее арифметическое. Исходным данным в этой задаче является двумерный массив, состоящий из 5 строк и 6 столбцов. Примем обозначения: n=5, m=6. Размеры матрицы заданы конкретными значениями, их вводить не надо, поэтому с клавиатуры вводятся только элементы матрицы. По условию задачи нужно в каждой строке найти среднее арифметическое. Среднее арифметическое - это сумма элементов строки, деленная на их количество. Поэтому в этой задаче имеет значение, в каком порядке следует обрабатывать матрицу: слева направо (по строкам) или сверху вниз (по столбцам). Чтобы обработка велась по строкам, надо организовать внешний цикл по строкам i=1, n, и последовательно для каждой i -ой строки выполнять все действия по вычислению суммы, а также по вычислению и выводу среднего арифметического этой строки.Чтобы сумма правильно считалась для каждой строки, нужно всегда задавать начальное значение суммы s=0 перед началом обработки очередной строки. Для суммирования элементов строки надо организовать внутренний цикл по столбцам j =1, m, он обеспечит доступ к каждому элементу i -ой строки, и в нём каждый элемент будет прибавляться к сумме s=s+ A [ i, j ]. В результате после окончания работы внутреннего цикла, будет найдена сумма элементов в i-ой строке. Теперь надо сосчитать среднее арифметическое i -ой строки sr=s/ m, так как в строке 6 элементов, и вывести это значение на экран. Далее опять выполнятся те же действия для следующей строки и так до тех пор, пока все строки не будут просмотрены. Так, при обработке первой строки, когда i =1, надо задать s=0 и дальше в цикле при изменении номеров столбцов j =1, m в переменной s будет накапливаться сумма элементов 1-ой строки s = s + A [1, j ]. Сначала в s прибавится значение элемента первой строки первого столбца s = s +А[1,1], затем последовательно элементы: А[1,2], А[1,3] и т.д. По окончании внутреннего цикла нужно сосчитать среднее арифметическое 1-ой строки sr=s/ m, и вывести это значение на экран. Затем переменная i становится равной 2 (обрабатывается вторая строка), снова надо задать начальное значение суммы s =0, и опять в цикле повторятся те же действия для второй строки s = s + A [2, j ]. Далее будет сосчитано среднее арифметическое 2-ой строки и выведено на экран и т. д., до тех пор, пока не будут просмотрены все n строк. Структурированная запись алгоритма 39 1. Задание числовых значений для количества строк и столбцов матрицы A: n =5; m =6; 2. Ввод элементов матрицы 3. Цикл по строкам для i=1, n 3.1. Задание начального значения суммы для обработки i-ой строки s=0 3.2. Цикл по столбцам для j =1, m 3.2.1. Прибавление к сумме элемента i-й строки матрицы s = s + A [ i, j ] Конец цикла по j 3.3. Вычисление среднего арифметического элементов i-ой строки sr=s/ m 3.4. Вывод sr и i на экран Конец цикла по i Схема алгоритма
Программа на языке Си #include <stdio.h> #define N 5 #define M 6 int main() { double a[N][M],s,sr; int i,j; printf(" Введите элементы матрицы\n"); for(i=0;i<N;i++) for(j=0;j<M;j++) scanf("%lf",&a[i][j]); printf("Исходная матрица\n"); for(i=0;i<N;i++) { for(j=0;j<M;j++) printf("%4.2lf ",a[i][j]); printf("\n"); } for(i=0;i<N;i++) { s=0; for(j=0;j<M;j++) s+=a[i][j]; sr=s/M; printf("Сред. арифметическое %1d",i); printf("строки=%5.2lf\n",sr); } return 0; } Программа на языке Паскаль Program main_39; Const n=5; m=6; Var a: array [1..n,1..m] of real; i,j: integer; s,sr: real; begin writeln('Введите элементы матрицы'); for i:=1 to n do for j:=1 to m do read(a[i,j]); writeln('Исходная матрица'); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:3:1,' '); writeln; end; for i:=1 to n do begin s:=0; for j:=1 to m do s:=s+a[i,j]; sr:=s/m; writeln('Сред. арифметическое ',i:2, ' строки=',sr:5:2); end; end. Программа на языке Фортран Program main_39 Implicit none integer,parameter:: n=5,m=6 integer i,j real a(n,m),s,sr print*,'Введите элементы матрицы' read*,((a(i,j),j=1,m),i=1,n) C1:do i=1,n s=0 C2:do j=1,m s=s+a(i,j) enddo C2 sr=s/m print '(A,I2,1x,A,F5.2)','Ср.арифм. ',& i,' строки=',sr enddo C1 end program Программа на языке Python A = [] # Создаем пустой список строк # в Python списки индексируются с 0: for i in range(0, 5): A.append([]) # Добавляем пустой список элементов i-й строки for j in range(0, 6): print("Введите A[{0},{1}]: ".format(i+1,j+1)) A[i].append(float(input())) for i in range(0, 5): s = 0 for j in range(0, 6): s = s + A[i][j] sr = s/6 print("Среднее арифметическое {0}-й строки={1}". format(i+1,sr)) Программа в системе Матлаб n=5; m=6; disp('Введите эл. матрицы'); for i=1:n for j=1:m a(i,j)=input('a(i,j)='); end end for i=1:n s=0; for j=1:m s=s+a(i,j); end sr=s/m; disp(sprintf('Среднее арифм. %2d строки=%5.2f',… i, sr)) end
|
||
|
Последнее изменение этой страницы: 2021-04-12; просмотров: 2493; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.007 с.) |