Serazeni sloupcu v matici – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Serazeni sloupcu v matici – Pascal – Fórum – Programujte.comSerazeni sloupcu v matici – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Katka
~ Anonymní uživatel
21 příspěvků
11. 12. 2014   #1
-
0
-

Jak prosim seradim sloupce v matici podle prvku druheho radku vzestupne? Prosim poradit jen slovne. Radkove to je v pohode. To si udelam pomocnou promenou tRadek = array .... .Pro sloupec mi to nefunguje.

Nahlásit jako SPAM
IP: 78.156.128.–
Reklama
Reklama
Mircosoft+1
Věrný člen
11. 12. 2014   #2
-
0
-

Je potřeba projít to postupně od prvního do posledního řádku a na každém prohodit dva prvky (předpokládám, že princip řazení znáš).

Případně můžeš matici transponovat (zkopírovat do nové, kde Nová[i,j]=Původní[j,i]), seřadit řádkově a pak transponovat zpátky, ale asi to nebude ani jednodušší, ani efektivnější.

Nahlásit jako SPAM
IP: 212.79.106.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Katka
~ Anonymní uživatel
21 příspěvků
11. 12. 2014   #3
-
0
-

   

procedure setrid(var Matice: tMatice; M, N: tIndex);
var i, j, k: integer;
pom: tSloupec;

begin
i:=2;
for j:=2 to n do
 bbegin 
  for k:=n downto j do begin
  if Matice[i,k] > Matice[i, k-1] then
   begin
    pom:=Matice[k];
    Matice[i,k]:=Matice[i,k-1];
    Matice[k-1]:=pom
end
end;
end;
end;


Tohle jsem udelala ale nefungovalo to (princip bubble sort vim) jen me to plete protoze musim resit radek 2 i=2

Nahlásit jako SPAM
IP: 78.156.128.–
Mircosoft+1
Věrný člen
11. 12. 2014   #4
-
0
-

Tak na chvíli zapomeň, že to je matice, a seřaď jenom ten samotný druhý řádek. Až to budeš mít, tak jenom upravíš kód pro prohození dvou prvků: místo dvou čísel na řádku s i=2 to uděláš pro všechna i od 1 do výšky matice.

Nahlásit jako SPAM
IP: 212.79.106.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Katka
~ Anonymní uživatel
21 příspěvků
11. 12. 2014   #5
-
0
-

#4 Mircosoft

pom : integer
...
...
if Matice[i,k] > Matice[i,k-1] then
 begin
  pom:=Matice[i,k];
  Matice[i,k]:=Matice[i,k-1];
  Matice[i,k-1]:=pom
 end
end;
end;
end;


Mam to co mam udelat dal ?

Nahlásit jako SPAM
IP: 78.156.128.–
Mircosoft+1
Věrný člen
11. 12. 2014   #6
-
0
-

Mezi then a begin vlož "for i:=1 to vyska_matice do", v celém zbytku programu nahraď proměnnou "i" buď natvrdo dvojkou, nebo nějakou jinou proměnnou, aby se s tímhle cyklem netloukla. A je to :-).

Nahlásit jako SPAM
IP: 212.79.106.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Katka
~ Anonymní uživatel
21 příspěvků
11. 12. 2014   #7
-
0
-

#6 Mircosoft
 

procedure setrid(var Matice: tMatice; M, N: tIndex);
var i,j,k, pom:integer;
begin
 for j:=2 to n do 
 begin
  for k:=n downto j do begin
   if Matice[2,k] > Matice[2,k-1] then
    for i:=1 to m do
     begin
      pom:=Matice[2,k];
       Matice[2,k]:=Matice[2,k-1];
       Matice[2,k-1]:=pom
end
end;
end;
end;


Nefunguje to ...

Nahlásit jako SPAM
IP: 78.156.128.–
Katka
~ Anonymní uživatel
21 příspěvků
11. 12. 2014   #8
-
0
-

#7 Katka
uyz to jde

Nahlásit jako SPAM
IP: 78.156.128.–
Katka
~ Anonymní uživatel
21 příspěvků
11. 12. 2014   #9
-
0
-

#8 Katka
ale musim si to vykrokovat abych to pochopila 

Nahlásit jako SPAM
IP: 78.156.128.–
Katka
~ Anonymní uživatel
21 příspěvků
11. 12. 2014   #10
-
0
-

#9 Katka
DIKY MOC

Nahlásit jako SPAM
IP: 78.156.128.–
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, 26 hostů

Podobná vlákna

Program s matici — založil Jan

Hledani v matici — založil slezikán

Problém s maticí — založil Honzik

Moderátoři diskuze

 

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