Найти - Пользователи
Полная версия: В двумерном массиве найти сумму элементов заштрихованной области. Помогите пожалуйста!! Очень срочно надо!
Начало » Центр помощи » В двумерном массиве найти сумму элементов заштрихованной области. Помогите пожалуйста!! Очень срочно надо!
1
cthulhu1711
В двумерном массиве найти сумму элементов заштрихованной области. Помогите сделать, нужно рассмотреть 2 случая, когда количество элементов в строке и столбце матрицы четные и нечетные. Если можете отправьте на мыло athlonx21997@gmail.com. Очень на Вас надеюсь, от этого зависит моя стипендия
sander
cthulhu1711
В двумерном массиве найти сумму элементов заштрихованной области. Помогите сделать, нужно рассмотреть 2 случая, когда количество элементов в строке и столбце матрицы четные и нечетные. Если можете отправьте на мыло athlonx21997@gmail.com. Очень на Вас надеюсь, от этого зависит моя стипендия

are you out of mind?
JOHN_16
Интереса ради я попробовал применить нестандартных подход, и воспользоваться библиотекой символьных вычислений sympy,а именно его геометрическими объектами. Но получилось не совсем то что надо. Суть подхода по размерам матрицы сделать квадрат (тот что заштрихованный) и смотреть будут ли индексы матрицы попадать в его плоскость. Судя по выводимой псевдографике получается не совсем то. Но сам подходи мне показался любопытным поэтому код выкладываю.
from __future__ import division
from sympy import Point, Polygon
import numpy as np
a = np.ones((5, 5))
square = Polygon(Point(a.shape[0]/2, 0),
                    Point(a.shape[0], a.shape[1]/2),
                    Point(a.shape[0]/2, a.shape[1]),
                    Point(0, a.shape[1]/2))
summa = 0
r = []
for row_index,row in enumerate(a):
    for col_index, value in enumerate(row):
        if square.encloses_point(Point(row_index, col_index)):
            summa += value
            r.append('#')
            print('Element {:3d} x {:3d} with value {} is in square'.format(row_index, col_index, value))
        else:
            print('Element {:3d} x {:3d} with value {} dropped'.format(row_index, col_index, value))
            r.append('=')
    r.append('\n')
print('Result = {}'.format(summa))
print(''.join(r))
=====
==##=
=####
=####
==##=
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB