![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Назовем допустимым преобразованием матрицы перестановку двух строк или двух столбцов. Для действительной квадратной матрицы порядка n с помощью допустимых преобразований добиться того, чтобы элемент мат-рицы с наименьшим по модулю значением располагался в нижнем правом углу матрицы. Исходную матрицу вводить с клавиатуры...
пожалуйста помогите кто нить... и если можно с пояснением...За ранее благодарю... ![]() |
|
#2
|
||||
|
||||
|
1) пробегаешься по матрице. Ищешь минимальный по модулю элемент. Сохраняешь его строку и столбец (назовем их соответственно k и m).
2) меняешь строку k с последней, потом столбец m с последним. 3) радуешься результату |
|
#3
|
|||
|
|||
|
А программу не сможеш?
|
|
#4
|
|||
|
|||
|
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var i,j,i1,j1,n: integer;
a: array of array of real;
b: array of real;
min:real;
begin
write('n=');
read(n);
setLength(a,n,n);
setLength(b,n);
for i:=0 to n-1 do
for j:=0 to n-1 do begin
write('a[',i,',',j,']');
read(a[i,j]);
end;
min:=abs(a[0,0]);
for i:=0 to n-1 do
for j:=0 to n-1 do begin
if min>abs(a[i,j]) then begin
min:=abs(a[i,j]);
i1:=i;
j1:=j;
end;
end;
for i:=0 to n-1 do begin
b[i]:=a[i1,i];
a[i1,i]:=a[n-1,i];
a[n-1,i]:=b[i];
end;
for i:=0 to n-1 do begin
b[i]:=a[i,j1];
a[i,j1]:=a[i,n-1];
a[i,n-1]:=b[i];
end;
for i:=0 to n-1 do begin
for j:=0 to n-1 do
write(a[i,j]:6:2,' ');
writeln;
end;
readln;
readln;
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.Последний раз редактировалось stil, 20.12.2010 в 18:36. |
|
#5
|
|||
|
|||
|
Дружище а можеш через форму??? пожалуйста... сроки поджимают просто... если сможеш буду благодарен
|
|
#6
|
|||
|
|||
|
Код:
{размерность массива}
procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.ColCount:=StrToInt(edit1.text);
StringGrid1.RowCount:=StrToInt(edit1.text);
end;
{перестановка}
procedure TForm1.Button2Click(Sender: TObject);
var i,j,i1,j1,n: integer;
b: array of real;
min:real;
begin
n:=StringGrid1.ColCount;
setLength(b,n);
min:=abs(StrToFloat(StringGrid1.cells[0,0]));
for i:=0 to StringGrid1.ColCount-1 do
for j:=0 to StringGrid1.RowCount-1 do begin
if min>abs(StrToFloat(StringGrid1.cells[i,j])) then begin
min:=abs(StrToFloat(StringGrid1.cells[i,j]));
i1:=i;
j1:=j;
end;
end;
for i:=0 to n-1 do begin
b[i]:=StrToFloat(StringGrid1.cells[i1,i]);
StringGrid1.cells[i1,i]:=StringGrid1.cells[n-1,i];
StringGrid1.cells[n-1,i]:=FloatToStr(b[i]);
end;
for i:=0 to n-1 do begin
b[i]:=StrToFloat(StringGrid1.cells[i,j1]);
StringGrid1.cells[i,j1]:=StringGrid1.cells[i,n-1];
StringGrid1.cells[i,n-1]:=FloatToStr(b[i]);
end;
end; |
|
#7
|
|||
|
|||
|
procedure TForm1.Button1Click(Sender: TObject);
ошибка вот тут [Error] Project2.dpr(7): ';' expected but '.' found такая |