лаб работа по ипо. Разработка, отладка и испытание алгоритмов и программ работы с двумерными списками
Скачать 119.12 Kb.
|
Отчет по лабораторной работе №6-7 Тема: Разработка, отладка и испытание алгоритмов и программ работы с двумерными списками Цель: Отработать навыки в программирования и обработки двумерных списков Задание 1 Найти кол-во эл-ов, совпадающих с номером строки или столбца А)import numpy n = int(input("Введите количество строк: ")) m = int(input("Введите количество столбцов: ")) matrix = [] for i in range(n): row = [] for j in range(m): elem = int(input(f"Введите элемент матрицы [{i}][{j}]: ")) row.append(elem) matrix.append(row) count = 0 for i in range(n): for j in range(m): if matrix[i][j] == i+1 or matrix[i][j] == j+1: count += 1 print("Количество элементов, совпадающих с номером своей строки или столбца:", count) Б)import random n = int(input("Введите количество строк: ")) m = int(input("Введите количество столбцов: ")) matrix = [[random.randint(1, 10) for j in range(m)] for i in range(n)] for row in matrix: print(row) count = 0 for i in range(n): for j in range(m): if matrix[i][j] == i+1 or matrix[i][j] == j+1: count += 1 print("Количество элементов, совпадающих с номером своей строки или столбца:", count) Задание 2 Задание 2 Заменить все положительные элементы им противоположным import random n = int(input("Введите количество строк: ")) m = int(input("Введите количество столбцов: ")) matrix = [[random.randint(-10, 10) for j in range(m)] for i in range(n)] print("Исходная матрица:") for row in matrix: print(row) for i in range(n): for j in range(m): if matrix[i][j] < 0: matrix[i][j] = abs(matrix[i][j]) elif matrix[i][j] > 0: matrix[i][j] = -matrix[i][j] print("Матрица с замененными противоположными элементами:") for row in matrix: print(row) import numpy n = int(input("Введите количество строк: ")) m = int(input("Введите количество столбцов: ")) matrix = [[0 for j in range(m)] for i in range(n)] for i in range(n): for j in range(m): matrix[i][j] = int(input(f"Введите элемент [{i}][{j}]: ")) print("Матрица:") for i in range(n): for j in range(m): print(matrix[i][j], end=" ") print() for i in range(n): for j in range(m): if matrix[i][j] < 0: matrix[i][j] = abs(matrix[i][j]) elif matrix[i][j] > 0: matrix[i][j] = -matrix[i][j] print("Измененная матрица:") for i in range(n): for j in range(m): print(matrix[i][j], end=" ") print() Задание 3 Для целочисленной матрицы задается размерность размерности NXM. сформируйте матрицу заполняя строки квадратами номера столбца, если строка имеет нечетный номер и нулями остальное n = int(input("Введите количество строк: ")) m = int(input("Введите количество столбцов: ")) matrix = [[0 for j in range(m)] for i in range(n)] for i in range(n): for j in range(m): if i % 2 == 0: matrix[i][j] = 0 else: matrix[i][j] = (j+1)**2 print("Матрица:") for i in range(n): for j in range(m): print(matrix[i][j], end=" ") print() Контрольные вопросы: Явным перечислением элементов, путем задания формулы для каждого элемента матрицы, с помощью специальных функций, с помощью операций над другими матрицами. С помощью функции print() и передать ей матрицу в качестве аргумента (print(row)). Неверное использование оператора сложения вместо оператора присваивания, и нужен счетчик положительных элементов Сдвиг элементов массива на 1 позицию влево Также элементы массива сдвинуться на 1 позицию влево. A[i+1]станет на место A[i], а последний элемент массива не будет учитываться. |