From 3d5202bcddd67a2b714cb9f6bc8cdd2bf854f058 Mon Sep 17 00:00:00 2001 From: Ivan Date: Thu, 1 Dec 2016 23:18:58 +0200 Subject: [PATCH] Create homework 7.py --- homework 7.py | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 homework 7.py diff --git a/homework 7.py b/homework 7.py new file mode 100644 index 0000000..9b4399b --- /dev/null +++ b/homework 7.py @@ -0,0 +1,177 @@ ++#task1------------------------------------------------------------ + +""" + +Найдите индексы первого вхождения максимального элемента. Выведите два числа: номер строки и номер столбца, + +в которых стоит наибольший элемент в двумерном массиве. Если таких элементов несколько, то выводится тот, + +у которого меньше номер строки, а если номера строк равны то тот, у которого меньше номер столбца. + + + +Программа получает на вход размеры массива n и m, затем n строк по m чисел в каждой. + +""" + +size = input().split() + + + +m=int(size[0]) + + + +n=int(size[1]) + + + +matrix = [] + + + +for i in range(m): + + + + row = input().split() + + + + for i in range(len(row)): + + + + row[i] = int(row[i]) + + + + matrix.append(row) + + + +for i in range(m): + + + + for j in range(n): + + + + if (i==0) and (j==0): + + + + x=i + + + + y=j + + + + max = matrix[0][0] + + + + elif matrix[i][j] > max: + + + + x=i + + + + y=j + + + + max=matrix[i][j] + + + +print (x, y, end=' ') + +#----------------------------------------------------------------- + + + + + +#task2------------------------------------------------------------ + +""" + +Дано нечетное число n. Создайте двумерный массив из n?n элементов, заполнив его символами "." + +(каждый элемент массива является строкой из одного символа). Затем заполните символами "*" среднюю строку массива, + +средний столбец массива, главную диагональ и побочную диагональ. В результате единицы в массиве должны образовывать + +изображение звездочки. Выведите полученный массив на экран, разделяя элементы массива пробелами. + +""" + +size=int(input()) + +matrix = [] + +matrix = ['.'] * size + +for i in range(size): + + matrix[i] = ['.'] * size + +for i in range(size): + + for j in range(size): + + if i==j: + + matrix[i][j] = '*' + + elif (size-j) == (i+1): + + matrix[i][j] = '*' + + if size//2 == j: + + matrix[i][j] = '*' + + if size//2 == i: + + matrix[i][j] = '*' + +for i in range(size): + + for j in range(size): + + print(matrix[i][j], end=' ') + + print() + +#----------------------------------------------------------------- + + + + + +#task3------------------------------------------------------------ + +""" + +Даны два числа n и m. Создайте двумерный массив размером n?m и заполните его символами "." и "*" + +в шахматном порядке. В левом верхнем углу должна стоять точка. + + + +""" + +size = input().split() + +m=int(size[0]) + +n=int(size[1]) + +matrix = ['.'] * m + +for i in range(m): + + matrix[i] = ['.'] * n + +for i in range(m): + + for j in range(n): + + if (i+j)%2 == 1: + + matrix[i][j] = '*' + +for i in range(m): + + for j in range(n): + + print(matrix[i][j], end=' ') + + print() + +#----------------------------------------------------------------- + + + + + +#task4------------------------------------------------------------ + +""" + +Дано число n. Создайте массив размером n?n и заполните его по следующему правилу. На главной диагонали должны быть записаны числа 0. + +На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2, и т.д. + +""" + +size = int(input()) + +matrix = [0] * size + +for i in range(size): + + matrix[i] = [0] * size + +for k in range(1, size): + + for i in range(size-k): + + for j in range(size-k): + + if i == j: + + matrix[i][j+k] = k + + matrix[i+k][j] = k + +for i in range(size): + + for j in range(size): + + print(matrix[i][j], end=' ') + + print() + +#----------------------------------------------------------------- + + + +#task5------------------------------------------------------------------------------------------------------------------------ + +""" + +Дано число n. Создайте массив размером n?n и заполните его по следующему правилу: + + + +Числа на диагонали, идущей из правого верхнего в левый нижний угол равны 1. + + + +Числа, стоящие выше этой диагонали, равны 0. + + + +Числа, стоящие ниже этой диагонали, равны 2. + + + +Полученный массив выведите на экран. Числа в строке разделяйте одним пробелом. + +""" + +size = int(input()) + +matrix = [0] * size + +for i in range(size): + + matrix[i] = [0] * (size-i-1) + [1] + [2] * i + +for i in range(size): + + for j in range(size): + + print(matrix[i][j], end=' ') + + print() + +#----------------------------------------------------------------- + + + +#task6------------------------------------------------------------ + +""" + +Дан двумерный массив и два числа: i и j. Поменяйте в массиве столбцы с номерами i и j и выведите результат. + + + +Программа получает на вход размеры массива n и m, затем элементы массива, затем числа i и j. + + + +Решение оформите в виде функции swap_columns(a, i, j). + +""" + +def swap_columns(matrix, i, j): + + for z in range (a): + + temp=matrix[z][i] + + matrix[z][i]=matrix[z][j] + + matrix[z][j]=temp + + return + +size = input().split() + +a=int(size[0]) + +b=int(size[1]) + +matrix = [] + +for k in range(a): + + row = input().split() + + for k in range(len(row)): + + row[k] = int(row[k]) + + matrix.append(row) + +size = input().split() + +i=int(size[0]) + +j=int(size[1]) + +swap_columns(matrix, i, j) + +for i in range(a): + + for j in range(b): + + print(matrix[i][j], end=' ') + + print() + +#-----------------------------------------------------------------