Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 2237; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.60.132 (0.007 с.) |