Форумы-->Форум для внеигровых тем-->
Автор | С++, помогите решить |
В общем задачу дали по С++, еле условие понял, а ее еще решить нужно, кто может помочь,буду просто очень благодарен.
"Сессия идет,зачет горит"
Дано действительную квадратную матрицу В заданного размера. Получить целочисленную квадратную матрицу А того же порядка, в котрый элемент а(ij) = 1, если соответствующий элемент исходной матрицы в большую от элемента, расположенного в том же строке на главной диагонали, в противном случае а(ij) = 0
Кто не понял условие обьясню по подробнее:
Есть матрица, к примеру:
-1 2 -2
1 4 -1
3 2 1
Нам нужно с главной горизонтале сравнить числа с 1, тоесть (-1,4,1)
Если больше ставим 1, меньше ставим 0. Дальше число с главной диагонале сравниваем с рядком, и если числа в рядке больше числа в диагонале ставим 1, меньше 0. И так далее с каждым строчкой.
И из выше указаной матрици мы получаем:
0 1 0
0 1 0
1 1 1
Как-то так( | сам я не шарю))но если ты обьявиш вознаграждение найдутся те кто шарят | Не, ну тут без поллитры не разобраться... | for(int i=0; i<n; i++)
{
if(B[i][i]>=1 {A[i][i]=1;}
else {A[i][i]=0;}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(i==j) continue;
if(B[i][j]>=B[i][i]) {A[i][j]=1;}
else {A[i][j]=0;}
}
}
не понятно что делать когда равно,,, иду на работу, приз в студию | обидно когда мучаешься с табуляцией, а сайт её убрал | для В_погоне_за_ПГВ:
С какого перепугу из условия следуют что диагональные элмементы нужно сравнивать с единицей? | for(int i=0; i<n; i++)
{
if(B[i][i]>=1 {A[i][i]=1;}
else {A[i][i]=0;}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(i==j) continue;
if(B[i][j]>=B[i][i]) {A[i][j]=1;}
else {A[i][j]=0;}
}
}
всё таки из условий B[i][j]>=B[i][i] я бы заменил на строгое неравенство
B[i][j]>B[i][i] | для Кротокрыс:
я поставил равенство так как в примере Б[2][2]=1, и А[2][2]=1, проблема что делать при равенстве не указано, если заменити на строгое неравенство, получитса что равенство будет как меньше
п.с. транслит |
К списку тем
|