Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Текст программы на языке PythonСодержание книги
Поиск на нашем сайте # В качестве матрицы используется тип list # (список), элементами которого являются списки print("Введите N -- размер квадратной матрицы C: ") N=int(input()) C = [] # Создаем пустой список строк # в Python списки индексируются с 0: for i in range(0, N): C.append([]) # Добавляем пустой список элементов i-й строки for j in range(0, N): print("Введите C[{0},{1}]: ".format(i+1,j+1)) C[i].append(float(input())) print("Исходная матрица:") for i in range(0, N): for j in range(0, N): print("{0:8.3}".format(C[i][j]),sep='',end=' ') print(" ") min = abs(C[0][0]) for i in range(1, N): # i = 1,..., N-1 - всего N-1 if abs(C[i][i]) < min: min = abs(C[i][i]) print("min = {:6.2}".format(min)) Текст программы в системе Матлаб n=input('Введите размер матрицы n '); disp('Введите элементы матрицы'); for i=1:n for j=1:n c(i,j)= input(' '); end end min=abs(c(1,1)); for i=2:n ab=abs(c(i,i)); if ab < min min=ab; end end disp('Элемент главной диагонали,') disp(sprintf('наиболее близкий к 0 =%6.2f',min)) С использованием матричных операций и функций n=input('Введите размер матрицы n '); disp('Введите элементы матрицы'); for i=1:n for j=1:n c(i,j)= input(' '); end end min_el= min(abs(diag(с))); disp('Элемент главной диагонали,') disp(sprintf('наиболее близкий к 0 =%6.2f',min_el))
Задача 44. Проверка элементов в части матрицы, ограниченной диагональю Условие задачи. Дана целочисленная квадратная матрица С. Найти в ней среднее арифметическое элементов, кратных 3 или заканчивающихся цифрой 3, среди элементов, лежащих ниже главной диагонали. В данной задаче исходным данным является матрица целых чисел А. Ее размер в условии не определен. Поэтому число строк и число столбцов матрицы (целочисленное n) также является исходным данным и должно вводиться пользователем. Результатом будет среднее арифметическое некоторых элементов, удовлетворяющих условию, — вещественное число s. Элементы, лежащие ниже главной диагонали, находятся в строках со второй по последнюю, причем во второй строке под диагональю находится только один элемент, в третьей — два, в четвертой — три, в последней — n -1. То есть в каждой строке матрицы требуется рассматривать только элементы, начиная с первого и заканчивая элементом, предшествующим лежащему на главной диагонали. С учетом того, что у диагональных элементов номер строки и столбца совпадает, элемент, лежащий слева, будет иметь номер столбца, на 1 меньше номера строки. Таким образом, для перебора всех элементов под главной диагональю требуется организовать два цикла: внешний, изменяющий номер строки i от 2 до n, и внутренний, изменяющий номер элемента в строке j от 1 до i-1. Для вычисления среднего требуется сначала вычислить сумму s и количество k удовлетворяющих поставленным условиям элементов среди рассматриваемых, затем поделить сумму на количество. Кратность трем можно проверить, сравнив с нулем остаток от деления числа на 3 (операцию получения остатка от деления, как и во всех предшествующих задачах, обозначим mod). Последняя цифра – остаток от деления числа на 10. Структурированная запись алгоритма 44 1. Ввести размеры матрицы n и элементы самой матрицы А. 2. Обнулить счетчик k =0. 3. Обнулить сумму s =0. 4. В цикле для каждой строки i =2, n повторять: 4.1. в цикле для каждого элемента строки j =1, i -1 повторять: Если A[i,j] mod 3 = 0 или A[i,j] mod 10 = 3, то 4.1.1. Увеличить сумму s=s+A[i,j] 4.1.2. Увеличить количество k = k +1 5. Если k >0, 5.1. то вычислить среднее s = s / k и вывести его на экран, 5.2. иначе вывести сообщение «Элементов, кратных 3 или оканчивающихся на 3, в массиве нет» Схема алгоритма
Текст программы на языке Си #include <stdio.h> int main (void) { int a[20][20], n, i, j, k=0, s=0; printf (″Введите размер квадратной матрицы\n″); scanf (″%d”, &n); if (n>20) n=20; printf (″Введите значения элементов:\n″); for (i=0; i<n; i++) for (j=0; j<n; j++) scanf (″%d″, &a[i][j]); for (i=1; i<n; i++) for (j=0; j<i; j++) if (a[i][j]%3==0 || a[i][j]%10==3) { s+=a[i][j]; k++; } if (k>0) printf (″S = %lf″, (double)s/k); else printf (″Элементов, кратных 3 или\ return 0; } Программа на языке Паскаль Program Pr_44; var a: array [1..20, 1..20] of integer; n, i, j, k, s: integer; begin writeln (ʹВведите размер квадратной матрицы’); read (n); if n>20 then n:=20; writeln (ʹВведите значения элементов:’); for i:=1 to n do for j:=1 to n do read (a[i,j]); s:=0; k:=0; for i:=2 to n do for j:=1 to i-1 do if (a[i,j] mod 3 = 0)or(a[i,j] mod 10 = 3) then begin s:=s+a[i,j]; k:=k+1 end; if k>0 then write (‘S =’, s/k:8:2) else write (ʹЭлементов, кратных 3 или ‘, end.
|
||
|
Последнее изменение этой страницы: 2021-04-12; просмотров: 288; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.008 с.) |