1. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Первый товар уже в продаже: Консультация на тему ИБ от Ondrik8

    Скрыть объявление
  2. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Второй товар маркетплейса: Надёжная обфускация вашей программы от PingVinich

    Скрыть объявление

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

Тема в разделе "C/C++/C#", создана пользователем slashkinks, 4 ноя 2012.

  1. slashkinks

    slashkinks Гость

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

    Unk Гость

    Репутация:
    0
    как должна создавать подматрица? из существующей достать матрицу 5 на 5? Надеюсь не глупости говорю
     
  3. rrrFer

    rrrFer Гость

    Репутация:
    0
    Я думаю подматица задается четырьмя числами - <индекс верхней строки><индекс правого столбца><индекс нижней строки><индекс левого столбца>

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

    Unk Гость

    Репутация:
    0
    или же индекс первого элемента и кол во строк и столбцов?
     
  5. Whatka

    Whatka Well-Known Member

    Репутация:
    0
    Регистрация:
    9 окт 2011
    Сообщения:
    428
    Симпатии:
    4
    также можно подматрицу задать номерами элементов,
    находящихся в начале и конце главной диагонали необходимой подматрицы.
     
  6. slashkinks

    slashkinks Гость

    Репутация:
    0
    Это понятно , но как именно записать вот это ... в этом для меня основной вопрос(
     
  7. rrrFer

    rrrFer Гость

    Репутация:
    0
    Код (Text):
    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];
     
  8. slashkinks

    slashkinks Гость

    Репутация:
    0
    r04
    Спасибо ) то что нужно !
     
Загрузка...

Поделиться этой страницей