Rozdělení matice na čtvercovou a zbytkovou – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Rozdělení matice na čtvercovou a zbytkovou – Pascal – Fórum – Programujte.comRozdělení matice na čtvercovou a zbytkovou – Pascal – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Juicek0
Duch
28. 3. 2020   #1
-
0
-

Zdravím vás potřeboval bych poradit s tady tím zadáním: matici MxN naplnit náhodnými čísly od 1do 99, pak matici pomocí procedury rozdělte na jednu čtvercovou matice  a zbytkovou matici. Všechny matice zobrazte.

Předem děkuji za tipy.  

Nahlásit jako SPAM
IP: 94.112.89.–
Jerry
~ Anonymní uživatel
512 příspěvků
28. 3. 2020   #2
-
0
-

a v čem to má bejt napsaný ?

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:9556:ef75:183d:482a...–
Juicek0
Duch
28. 3. 2020   #3
-
0
-

#2 Jerry
Pascal

Zdravím vás potřeboval bych poradit s tady tím zadáním: matici MxN naplnit náhodnými čísly od 1do 99, pak matici pomocí procedury rozdělte na jednu čtvercovou matice  a zbytkovou matici. Všechny matice zobrazte.

Předem děkuji za tipy.  

Nahlásit jako SPAM
IP: 94.112.89.–
gna
~ Anonymní uživatel
1891 příspěvků
28. 3. 2020   #4
-
0
-

 Můžeš použít dynamické dvourozměrné pole.

type
  TMatice = array of array of integer;

var
  matice: 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);

To rozdělení bude podobně. Vytvoříš další 2 matice a naplníš je hodnotami z té původní.

Nahlásit jako SPAM
IP: 213.211.51.–
gna
~ Anonymní uživatel
1891 příspěvků
28. 3. 2020   #5
-
0
-

Teda v random bude 99.

Nahlásit jako SPAM
IP: 213.211.51.–
Juicek0
Duch
29. 3. 2020   #6
-
0
-

#4 gna
Zdravím,

Sice nemám zkušenosti s dynamickým polem jelikož jsem začátečník ale matici jsem zvládl naplnit ale nevím si rady s tím rozdělením. Mohli byste mi to prosím popsat víc? 

Předem moc děkuji :)

Nahlásit jako SPAM
IP: 94.112.89.–
gna
~ Anonymní uživatel
1891 příspěvků
29. 3. 2020   #7
-
0
-

Já to chápu tak, že když máš třeba matici 6x4, tak z ní vytvoříš čtvercovou 4x4 a zbytkovou 2x4. Takže prostě vytvoříš 3 matice. První bude naplněná náhodnými hodnotami a další dvě hodnotami z té první.

Nahlásit jako SPAM
IP: 213.211.51.–
Juicek0
Duch
30. 3. 2020   #8
-
0
-

#7 gna
A příkazy by vypadaly jak? 

Nahlásit jako SPAM
IP: 94.112.89.–
Jerry
~ Anonymní uživatel
512 příspěvků
30. 3. 2020   #9
-
0
-

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];
 

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:adc9:cbbd:65b4:7849...–
Juicek0
Duch
31. 3. 2020   #10
-
0
-

#9 Jerry
Díky moc!

Nahlásit jako SPAM
IP: 94.112.89.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Podobná vlákna

Rozdělení disku — založil petr

Rozdělení textu — založil Petr

Rozdělení čísla — založil Hanmir1

Rozdeleni stringu — založil Figa

Moderátoři diskuze

 

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