diff --git a/students/km63/Ryasyk_Ihor/homework_7.py b/students/km63/Ryasyk_Ihor/homework_7.py new file mode 100644 index 0000000..4b7becb --- /dev/null +++ b/students/km63/Ryasyk_Ihor/homework_7.py @@ -0,0 +1,155 @@ +#task1------------------------------------------------------------ +""" +Найдите индексы первого вхождения максимального элемента. Выведите два числа: номер строки и номер столбца, +в которых стоит наибольший элемент в двумерном массиве. Если таких элементов несколько, то выводится тот, +у которого меньше номер строки, а если номера строк равны то тот, у которого меньше номер столбца. +Программа получает на вход размеры массива n и m, затем n строк по m чисел в каждой. +""" + +n, m = [int(i) for i in input().split()] +a = [[int(j) for j in input().split()] for i in range(n)] +best_i, best_j = 0, 0 +curr_max = a[0][0] +for i in range(n): + for j in range(m): + if a[i][j] > curr_max: + curr_max = a[i][j] + best_i, best_j = i, j +print(best_i, best_j) + + #----------------------------------------------------------------- + + + #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 и заполните его символами "." и "*" +в шахматном порядке. В левом верхнем углу должна стоять точка. +""" + +Str=input() +n=int(Str[:Str.find(' ')+1]) +m=int(Str[Str.find(' ')+1:]) +Array=[] +for i in range(n): + Array.append(['.']*m) +FirstRow=['.']*m +SecondRow=['.']*m +for i in range(m): + if i%2!=0: + FirstRow[i]='*' +for i in range(m): + if i%2==0: + SecondRow[i]='*' +for i in range(n): + if i%2==0: + Array[i]=FirstRow + else: + Array[i]=SecondRow +for i in range(n): + for j in range(m): + print(Array[i][j],end=' ') + print() + +#----------------------------------------------------------------- + + +#task4------------------------------------------------------------ +""" +Дано число n. Создайте массив размером n*n и заполните его по следующему правилу. На главной диагонали должны быть записаны числа 0. +На двух диагоналях, прилегающих к главной, числа 1. На следующих двух диагоналях числа 2, и т.д. +""" + +n = int(input()) +a = [[int(0)] * n for i in range(n)] +for i in range(n): + for j in range(n): + a[i][i] = 0 + if i < j: + a[i][j] = j - i + elif i > j: + a[i][j] = i - j +for row in a: + for elem in row: + print(elem, sep = ' ', end = ' ') + print() + +#----------------------------------------------------------------- + + +#task5------------------------------------------------------------------------------------------------------------------------ +""" +Дано число n. Создайте массив размером n?n и заполните его по следующему правилу: +Числа на диагонали, идущей из правого верхнего в левый нижний угол равны 1. +Числа, стоящие выше этой диагонали, равны 0. +Числа, стоящие ниже этой диагонали, равны 2. +Полученный массив выведите на экран. Числа в строке разделяйте одним пробелом. +""" + +n = int(input()) +s = [[0]*n for i in range(n)] +for i in range(n): + for j in range(n): + if i+j==n-1: + s[i][j]=1 + if i+j>n-1: + s[i][j]=2 +for el in s: + print(" ".join([str(i) for i in el])) + +#----------------------------------------------------------------- + + +#task6------------------------------------------------------------ +""" +Дан двумерный массив и два числа: i и j. Поменяйте в массиве столбцы с номерами i и j и выведите результат. +Программа получает на вход размеры массива n и m, затем элементы массива, затем числа i и j. +Решение оформите в виде функции swap_columns(a, i, j). +""" + +def swap_columns(a, i, j): + for k in range(len(a)): + a[k][i], a[k][j] = a[k][j], a[k][i] +n, m = [int(s) for s in input().split()] +a = [] +for i in range(n): + a.append([int(s) for s in input().split()]) +i, j = [int(s) for s in input().split()] +swap_columns(a, i, j) +for i in range(n): + print(' '.join([str(a[i][j]) for j in range(m)])) + +#----------------------------------------------------------------- + + +