Страница 1 из 1

Need Help

Добавлено: 05 май 2007, 22:12
pirate
помогите составить цикл для приведения матрицы к треугольному виду(на с++ или паскале), т.е. чтобы элементы ниже главной диагонали матрицы были равны нулю. за полный текст программы буду "еще благодарнее" =)))

Re: Need Help

Добавлено: 07 май 2007, 01:12
Колядин Максим

Код: Выделить всё

   var
   A:array[1..100,1..100] of integer;
   n,m,i,j:integer;

   procedure perform;
   begin
   for i:= 1 to n do
   for j:= 1 to m do
   if j<i then a[i,j]:=0;
   end;

   begin
   readln(n);  {задаём размеры матрицы}
   readln(m); {хотя она должна быть квадратной -);}
   for i:= 1 to n do
   for j:= 1 to m do a[i,j]:=1;
   perform;
   for i:= 1 to n do begin
   for j:= 1 to m do write(a[i,j]:3);
   writeln;
   end;
   readln;
   end.

Re: Need Help

Добавлено: 07 май 2007, 08:51
somewhere
&quot писал(а):приведения матрицы к треугольному виду
Имеется ввиду сведение к нулю, это значит что умножив строку на число и сложив с любой другой мы получаем новую, в которой один из коэф. равен 0. На основе получившейся сводим к нули второй коэф. и т.д. Тупо обнулять элементы в матрице нельзя. pirate, у меня где-то был код, я писал - найду - выложу.