1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

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

Уважаемый Гость, в 23:30 по мск форум будет закрыт на профилактику на 1,5 часа до 01:00 24.10.2017

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

Тема в разделе "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
    Код:
    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
    Спасибо ) то что нужно !
     
Загрузка...

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