Задача :Двумерные массивы. Получение из дв. массива вектор по условию

  • Автор темы xparen
  • Дата начала
Статус
Закрыто для дальнейших ответов.
X

xparen

Гость
#1
"Народ", помогите с решением задачи.
===========================================
Из матрицы размером NхM получить вектор B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по убыванию, иначе 0.
===========================================
P.S. Немного не могу сообразить как это должно выглядеть... Помогите..
 

lazybiz

Well-Known Member
03.11.2010
1 339
0
#3
Или все же можно просто одномерным массивом ограничится???
Я думаю там и подразумевается именно одномерный массив, т.к. одномерный массив тоже называют вектором, может он имеет в виду строку или столбец?

xparen
Что ты имеешь в виду под словом вектор?
 
X

xparen

Гость
#4
Я думаю там и подразумевается именно одномерный массив, т.к. одномерный массив тоже называют вектором, может он имеет в виду строку или столбец?

xparen
Что ты имеешь в виду под словом вектор?
ну я понял эту задачу так... например дана матрица (слева черты матрица, а справа вектор, который заполняеться следующим образом: если элементы строки в матрице расположены по убыванию то соответствующему элементу вектора присваиваеться значение 1, иначе 0)
Пример:
1 6 9 10 | 0
9 5 2 -10 | 1
3 5 6 15 | 0

На языке программирования разъясняю: матрица задаеться двумерным массивом, а "вектор" - одномерный массив, записанный рядом, каждый элемент которого соответствует строке матрицы, т.е. например, 1 строка матрицы будет соответствовать 1 элементу одномерного массива.....
 
X

xparen

Гость
#6
Я так думаю под словом вектор, он понимает вектор матрицы. Понятие из области математики, а не программирования.
Народ, сор за нескромность, но разве тяжело прочитать моё разъяснение на пост выше???
 
I

ierofant

Гость
#7
Народ, сор за нескромность, но разве тяжело прочитать моё разъяснение на пост выше???
А почему вы решили, что его никто не читал? ;)

C++:
static const int N_ROWS = 5;
static const int N_COLUMNS = 5;

int row_index_calc (int _row[], int _n_element)
{
int ret = 1;
for (int i = 1; i < _n_element; i++)
{
if (_row [i] > _row [i - 1])
{
ret = 0;
break;
}
}
return 0;
}

void vector_calc (int _matrix[][N_COLUMNS], int _vector[], int _n_rows, int _n_columns)
{
for (int i = 0; i < _n_columns; i++) _vector [i] = row_index_calc (_matrix [i], N_COLUMNS);
}

int main ()
{
int matrix [N_ROWS] [N_COLUMNS];
int vector [N_COLUMNS];

vector_calc (matrix, vector, N_ROWS, N_COLUMNS);

return 0;
}
 
Статус
Закрыто для дальнейших ответов.