Файл: Разработка, отладка и испытание алгоритмов и программ работы с двумерными списками.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()

Контрольные вопросы:

  1. Явным перечислением элементов, путем задания формулы для каждого элемента матрицы, с помощью специальных функций, с помощью операций над другими матрицами.

  2. С помощью функции print() и передать ей матрицу в качестве аргумента (print(row)).

  3. Неверное использование оператора сложения вместо оператора присваивания, и нужен счетчик положительных элементов

  4. Сдвиг элементов массива на 1 позицию влево

  5. Также элементы массива сдвинуться на 1 позицию влево. A[i+1]станет на место A[i], а последний элемент массива не будет учитываться.