Файл: Разработка, отладка и испытание алгоритмов и программ работы с двумерными списками.docx
Добавлен: 06.12.2023
Просмотров: 18
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Отчет по лабораторной работе №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], а последний элемент массива не будет учитываться.