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

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

slashkinks

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

Unk

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

rrrFer

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

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

Unk

Гость
#4
или же индекс первого элемента и кол во строк и столбцов?
 

Whatka

Well-Known Member
09.10.2011
428
4
24
Минск
#5
также можно подматрицу задать номерами элементов,
находящихся в начале и конце главной диагонали необходимой подматрицы.
 
S

slashkinks

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

rrrFer

Гость
#7
Посчитать сумму элементов в подматрице , заданной пользователем , и проверить существование данной подматрицы.
Код:
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];