Первая: Задана матрица А размерностью 3х6. Сделать поворот относительно главной диагонали.
Вторая: Задана матрица А размерностью 15х10. Найти рядок с наименьшим элементом и поменять его местами с последним.
Третья: Задана матрица А размерностью 7х5 та матрица В размерностью 7х4. Сделать добавление А+В, результат записать в матрицу С.
Спасибо за внимание. [Прошу прощение, если тема не в том разделе. По возможности прошу перенести данную тему в нужный раздел]
worp
2.12.2011 16:52
Пытаясь решить третью задачу, я был подвержен критике специалистов, которые в итоге помогли мне сделать эту задачку.
Выложу решение, возможно, кому-то понадобится.
Задача №3. Программный код.
Код
Uses Crt;
var a : array[1..7,1..5] of integer; b : array[1..7,1..4] of integer; c : array[1..7,1..9] of integer; i,j : integer;
begin randomize();
{ a, b initialization } for i := 1 to 7 do begin for j := 1 to 5 do a[i,j] := random(100); for j := 1 to 4 do b[i,j] := random(100); end;
{ copying } for i := 1 to 7 do begin for j := 1 to 5 do c[i,j] := a[i,j]; for j := 1 to 4 do c[i,j+5] := b[i,j]; end;
{ printing } for i := 1 to 7 do begin for j := 1 to 9 do begin write( c[i,j] ); write( ' ' ); end; writeln(''); end; end.
Тема еще актуальна. Помогите с первой и второй задачей, пожалуйста.
Lapp
3.12.2011 13:49
В первой - неясно, что есть главная диагональ в неквадратной матрице. И что значит поворот относитлеьно нее (даже и в квадратной).
Вторая (надеюсь, что рядок это строка..)
type
tRow= array[1..10] of ...
var
a: array[1..15] of tRow;
b: tRow;
...
imin:= 1;
jmin:= 1;
for i:=1to15dofor j:=1to10doif a[i,j]<a[imin,jmin] thenbegin
imin:= i;
jmin:= j
end;
b:= a[i];
a[i]:= a[15];
a[15]:= b;
...
worp
3.12.2011 21:37
В первой задаче нужно сделать транспонирование матрицы.
Спасибо за помощь. Вот что получилось: Задача №2.
const
n=15;
m=10;
type
matr=array[1..n,1..m] of integer;
var
a:matr;
i,j,imin,jmin,i_point,buf:integer;
begin
randomize;
{Vyvod}
writeln('Ishodnaya matritsa:');
for i:=1to n dofor j:=1to m dobegin
a[i,j]:=random(100)+5;
write(a[i,j]:4);
if j=m then
writeln;
end;
writeln;
{Poisk min, stroki min}
imin:=1;jmin:=1;
for i:=1to n dofor j:=1to m dobeginif a[i,j]<a[imin,jmin] thenbegin
imin:=i;
jmin:=j;
i_point:=i;
end;
end;
writeln('Min:',a[imin,jmin],' ego stroka: ',i_point,' Press enter...');
readln;
if i_point=n then{nomer stroki s min posledniy}
writeln('Element nahoditsa v poslednei stroke. Nichego ne menyaem.')
elsebegin{Obmen}for j:=1to m dobegin
buf:=a[i_point,j];
a[i_point,j]:=a[n,j];
a[n,j]:=buf;
end;
{Vyvod}
writeln('Posle obmena:');
for i:=1to n dofor j:=1to m dobegin
write(a[i,j]:4);
if j=m then
writeln;
end;
writeln;
end;
end.
Осталась первая задача. Помогите пж.
worp
5.12.2011 22:33
Первая задача с измененным условием: Не 3х6, а 6х6. №1
uses crt;
const n=6;m=6;
var
a:array[1..n,1..m] of integer;
b:array[1..n,1..m] of integer;
i,j:integer;
begin
clrscr;
{Vyvod nachal`nogo massiva}for i:=1to n dobeginfor j:=1to m dobegin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
writeln;
{Zapolnenie novogo massiva z povorotom}for i:=1to n dobeginfor j:=1to m dobegin
b[j,i]:=a[i,j];
end;
end;
{Pechat` poluchivshegosya massiva}for i:=1to n dobeginfor j:=1to m dobegin
write(b[i,j]:4);
end;
writeln;
end;
readln;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.