#include <cstdio>
int main()
{
size_t const max = 5;
double matrix[5][5] = {
4.6, 8.2, 8.4, 0.4, 8.0,
3.8, 8.0, 9.6, 5.4, 8.8,
1.4, 2.1, 2.1, 7.4, 9.6,
2.6, 2.9, 0.1, 9.6, 7.7,
1.6, 1.5, 1.1, 0.7, 5.0
};
size_t count, row, column;
for(count = 0; count < max; count ++)
{
for (row=(count+1); row < max; row++)
{
for(column = 0; column < max; column ++)
{
double t = matrix[row][count]/matrix[count][count];
printf("matrix[%d][%d] -= %f * %f\n", (int)row, (int)column, t, matrix[count][column]);
matrix[row][column] = (matrix[row][column] - (t*matrix[count][column]));
}
}
}
using std::printf;
for (row = 0; row < max; ++row)
{
for (column = 0; column < max; ++column)
printf("%f ", matrix[row][column]);
printf("\n");
}
}
I2luY2x1ZGUgPGNzdGRpbz4KCmludCBtYWluKCkKewoJc2l6ZV90IGNvbnN0IG1heCA9IDU7Cglkb3VibGUgbWF0cml4WzVdWzVdID0gewoJCTQuNiwgOC4yLCA4LjQsIDAuNCwgOC4wLAoJCTMuOCwgOC4wLCA5LjYsIDUuNCwgOC44LAoJCTEuNCwgMi4xLCAyLjEsIDcuNCwgOS42LAoJCTIuNiwgMi45LCAwLjEsIDkuNiwgNy43LAoJCTEuNiwgMS41LCAxLjEsIDAuNywgNS4wCgl9OwoKCXNpemVfdCBjb3VudCwgcm93LCBjb2x1bW47CgoJZm9yKGNvdW50ID0gMDsgY291bnQgPCBtYXg7IGNvdW50ICsrKQoJewoJCWZvciAocm93PShjb3VudCsxKTsgcm93IDwgbWF4OyByb3crKykKCQl7CiAgICAgICAgCQlmb3IoY29sdW1uID0gMDsgY29sdW1uIDwgbWF4OyBjb2x1bW4gKyspCiAgICAgICAgCQl7CiAgICAgICAgICAgIAkJZG91YmxlIHQgPSBtYXRyaXhbcm93XVtjb3VudF0vbWF0cml4W2NvdW50XVtjb3VudF07CgkJCQkJcHJpbnRmKCJtYXRyaXhbJWRdWyVkXSAtPSAlZiAqICVmXG4iLCAoaW50KXJvdywgKGludCljb2x1bW4sIHQsIG1hdHJpeFtjb3VudF1bY29sdW1uXSk7CiAgICAgICAgICAgIAkJbWF0cml4W3Jvd11bY29sdW1uXSA9IChtYXRyaXhbcm93XVtjb2x1bW5dIC0gKHQqbWF0cml4W2NvdW50XVtjb2x1bW5dKSk7CiAgICAgICAgCQl9CiAgCQl9Cgl9CgoJdXNpbmcgc3RkOjpwcmludGY7Cglmb3IgKHJvdyA9IDA7IHJvdyA8IG1heDsgKytyb3cpCgl7CgkJZm9yIChjb2x1bW4gPSAwOyBjb2x1bW4gPCBtYXg7ICsrY29sdW1uKQoJCQlwcmludGYoIiVmICIsIG1hdHJpeFtyb3ddW2NvbHVtbl0pOwoJCXByaW50ZigiXG4iKTsKCX0KfQo=