C/C++

Написать код на с++

Задана матрица порядка n и число k. Разделить элементы k-й строки на диагональный элемент, расположенный в этой строке.
Namiq Huseynov
Namiq Huseynov
93
Матрицу тут лучше делать вещественной динамической, а её порядок n и номер строки k вводить с клавиатуры. Это затем, что речь здесь идёт о делении элементов k-ой строки матрицы на элемент этой же строки, стоящий на главной диагонали, поэтому задавать матрицу типом int - очевиднейшая и совершеннейшая глупость так как правильного результата деления элементов строки на её диагональный элемент при целом типе матрицы скорей всего получить не удастся (допустим матрица размера 3×3 а изменять надо третью строку с элементами {1,2,4} - должно получиться {0.25,0.5,1}, а вместо этого получится {0,0,1}, что, конечно же, грубейшая ошибка !), а кроме того такие вещи как matrix[N][N] - это нестандарт, которого лучше избегать! И такие явно дурацкие, спойлерские и вредительские ответы как выше лучше сразу минусовать, потому что Вам там явную дурость нашарашили!
 #include  
#include
#include
#include

using namespace std;

void print(string s, double **X, int size)
{
int i, j; cout
СВ
Сергей Величко
66 572
Лучший ответ
 #include  

int main()
{
const int N = 3; // порядок матрицы
int k = 2; // номер строки, элементы которой нужно разделить

int matrix[N][N] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

int divisor = matrix[k][k];


for (int j = 0; j < N; j++)
{
matrix[k][j] /= divisor;
}

for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
std::cout
AS
Armen Shoxunc
72 487
Николай Справцов #include <iostream>
#include <algorithm>

int main() {
const int N = 3, k = 2, matrix[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
std::for_each(matrix[k], matrix[k] + N, [d = matrix[k][k]](int& i){ i /= d; });
for(auto& i : matrix) {
for(auto j : i) std::cout << j << " ";
std::cout << '\n';
}
}
#include <iostream>
#include <algorithm>

int main() {
const int N = 3, k = 2, matrix[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
std::for_each(matrix[k], matrix[k] + N, [d = matrix[k][k]](int& i){ i /= d; });
for(auto& i : matrix) {
for(auto j : i) std::cout << j << " ";
std::cout << '\n';
}
}