Const n=3; var a:array[1..n,1..n] of integer; i,j,c:integer; begin Randomize; writeln('Исходная матрица:'); for i:= 1 to n do begin for j:=1 to n do begin a[i,j]:=random(10); write(a[i,j]:4); end; writeln; end; for i:=1 to n do for j:=i+1 to n do begin c:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=c; end; writeln('Транспонированная матрица:'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end.
// PascalABC.NET 3.1, сборка 1192 от 07.03.2016 begin // инициализация var b:=MatrixRandom(3,3,10,99); // вывод Writeln('Исходная матрица'); for var i:=0 to 2 do begin for var j:=0 to 2 do Write(b[i,j]:3); Writeln end; // транспонирование for var i:=0 to 2 do for var j:=i+1 to 2 do if i<>j then Swap(b[i,j],b[j,i]); // вывод Writeln('Транспонированная матрица'); for var i:=0 to 2 do begin for var j:=0 to 2 do Write(b[i,j]:3); Writeln end end.
Вот http://pastebin.com/x5kVbW2D Подредактируй ввод вывод.
или вот #include<bits/stdc++.h> using namespace std; const int N = 1024+3; //size of "RAM"vector<pair<bool, int> > ram(N); //ram int get_area(int n){ for (int i = 0; i < N-n-1 ; i ++) { if(ram[i].first == false) { int j; for (j = i; j < i+n ; j ++ ) if(ram[j].first == true) break; if (ram[j].first == true) { i = j; continue; } for(j = i ; j < i+n ; j ++) { ram[j].first = true; ram[j].second = i; } return i; } } return -1; } string del_area(int n){ int j = n; for(int i = n ; ram[j].second == ram[i].second && i < N-1; i ++) { ram[i].first = false; ram[i].second = 0; } return "Success! Area deleted!";} int get_status(){ cout << endl << "Byte using of 1024 RAM:" << endl; for(int i = 0 ; i < N-2 ; i ++) { if(ram[i].first == false) cout << "-" << ' '; else cout << ram[i].second << ' '; }} int main(){ ///code by Dmitry Kulazhenko (DmitryCpp) ///ram index begins at 0 ///give area of RAM, size n get_area enter n ///delete area, with start index n del_area enter n ///give status of using RAM get_status ///to quit exit string s; while( s != "exit" ) { cin >> s; if (s == "get_area") { int n; cin >> n; cout << get_area(n); cout << endl; } if (s == "del_area") { int n; cin >> n; cout << del_area(n); cout << endl; } if (s == "get_status") { cout << get_status(); cout << endl; } } return 0;}
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016 const n=5; type Matrix=array[1..n,1..n] of integer;
procedure DummySchool(var a:Matrix); begin Writeln('Ввод элементов матрицы'); for var i:=1 to n do begin Write(n,' элементов строки ',i,': '); for var j:=1 to n do Read(a[i,j]); end; Writeln('Сформирована матрица ',n,'x',n); for var i:=1 to n do begin for var j:=1 to n do Write(a[i,j]:5); Writeln end end;
begin var B:Matrix; DummySchool(B); var sn:=0; var sp:=0; for var i:=1 to n do for var j:=1 to n do if B[i,j]<0 then sn+=B[i,j] else if B[i,j]>0 then sp+=B[i,j]; Writeln('Сумма отрицательных ',sn); Writeln('Сумма положительных ',sp) end.
var a:array[1..n,1..n] of integer;
i,j,c:integer;
begin
Randomize;
writeln('Исходная матрица:');
for i:= 1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(10);
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
for j:=i+1 to n do
begin c:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=c; end;
writeln('Транспонированная матрица:');
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
end.
Пример:
Исходная матрица:
1 4 4
8 3 9
8 2 1
Транспонированная матрица:
1 8 8
4 3 2
4 9 1