Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 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; просмотров: 190; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.12.172 (0.006 с.) |