Anonymní profil Jerry – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Jerry – Programujte.comAnonymní profil Jerry – Programujte.com

 

Příspěvky odeslané z IP adresy 2a00:1028:83be:235a:adc9:cbbd:65b4:7849...–

Jerry
Pascal › rozdělení matice na čtvercov…
30. 3. 2020   #385751

type
  TMatice = array of array of integer;

var
  matice: TMatice;
  matice2: TMatice;
  matice3: TMatice;
...
setlength(matice, m, n);
for y := 0 to m-1 do
  for x := 0 to n-1 do
    matice[y,x] := 1 + random(98);


y jsou radky, m jsou radky
x jsou sloupce, n jsou sloupce
zvol mensi rozmer takze dostanes matici k x k
idealni by bylo kdyby sis navolil napevno ze matice bude mit treba 10 sloupcu a 6 radku
takze ta ctverova matice bude 6x6 a zbyvajici matice bude mit rozmer 6 x 4 neboli 6 radku a 4 sloupce

if ( m < n ) then begin
   r1 = m;
   r2 = n - m
end;
else
begin
   r1 = n;
   r2 = m - n;
end;

tady se dela ctvercova matice
for y := 0 to r1-1 do
  for x := 0 to r1-1 do
    matice2[y,x] := matice[y,x]


tady se dela zbytek jen sloupce co jsou za hranici ctvercove matice r1 x r1
for y := 0 to k-1 do
  for x := r1-1 to r2-1 do
    matice3[y,x] := matice[y,x]


kdyz si to navolis napevno reba 10 sloupcu x 6 radku bude to mnohem jednodussi
a bude to vypadat takhle:


for y := 0 to 6-1 do
  for x := 0 to 10-1 do
    matice[y,x] := 1 + random(98);

for y := 0 to 6-1 do
  for x := 0 to 6-1 do
    matice2[y,x] := matice[y,x];

for y := 0 to 6-1 do
  for x := 6 to 10-1 do
    matice3[y,x] := matice[y,x];
 

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý