• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Посчитать Сумму Элементов В Подматрице, Заданной Пользователем

  • Автор темы slashkinks
  • Дата начала
S

slashkinks

Дана матрица 10х10. Посчитать сумму элементов в подматрице , заданной пользователем , и проверить существование данной подматрицы.
Помогите пожалуйста написать код на С++ основной части программы(самую простую) , или напишите хотя бы как задавать подматрицу в матрице .
 
U

Unk

как должна создавать подматрица? из существующей достать матрицу 5 на 5? Надеюсь не глупости говорю
 
R

rrrFer

или напишите хотя бы как задавать подматрицу в матрице .
как должна создавать подматрица? из существующей достать матрицу 5 на 5? Надеюсь не глупости говорю
Я думаю подматица задается четырьмя числами - <индекс верхней строки><индекс правого столбца><индекс нижней строки><индекс левого столбца>

и проверить существование данной подматрицы.
очевидно надо проверить чтобы для матрицы NxM индексы были неотрицательны, индексы столбцов были меньше M, строк - меньше N.
 
W

Whatka

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

rrrFer

Посчитать сумму элементов в подматрице , заданной пользователем , и проверить существование данной подматрицы.
Код:
std::cin>>a>>b>>c>>d;
if (a > b) swap(a,b);
if (c > d) swap(c,d)
if (a < 0 || b < 0 || c < 0 || d < 0 
|| a > N || c > N || b > M || d > M ) { 
/* матрица не существует */
return;
}
s = 0;
for (i = a; i < c; ++i )
for( j = b; j < d; ++j )
s += a[i][j];
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!