Matice otoceni – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Matice otoceni – Pascal – Fórum – Programujte.comMatice otoceni – Pascal – Fórum – Programujte.com

 

Radulinka
~ Anonymní uživatel
3 příspěvky
9. 12. 2013   #1
-
0
-

Ahojky, mám problém s jedním programem, upozorňuji, že jsem uplný začatečník....mám otočit matici o 180stupňů, ale nějak si nevím rady......chtěla bych ji nejspíš otočit 2x o 90stupňů...

program maticee;
const max=10;

var n,x,y:integer;
    matice: array[1..max,1..max] of integer;

//matice+obracena o 90 stupnu

  begin
    write('napiste rozmer matice: ');
    readln(n);
    for x:=1 to n do begin
      for y:=1 to n do begin
        write('zadej radek ',x,' sloupec ',y,'  :  ');
        readln(matice[x,y]);


      end;
    end;
    writeln;
    writeln;
    writeln;
      for x:=1 to n do begin
      for y:=1 to n do begin
        write(matice[x,y],'  ');
      end;
      writeln();
     end;
    writeln;
    writeln;

    for x:=1 to n do begin
    for y:=n downto 1 do

 write (matice[y,x], '  ');

    writeln;

     end;


    writeln;

    readln();
  end.

Jenže ji zvládnu otočit pouze jednou o 90 a dál si nevím rady, poradil by mi někdo?

Popřípadě i jak se dá otočit rovnou o 180 stupnu?

Mockrát děkuji.

Nahlásit jako SPAM
IP: 88.103.80.–
9. 12. 2013   #2
-
0
-

pokud mozno bez procedur :-)

Nahlásit jako SPAM
IP: 88.103.80.–
KIIV
~ Moderátor
+43
God of flame
9. 12. 2013   #3
-
0
-

nema smysl otacet to 2x po 90 ... jednou po 180 to bude rychlejsi

jen se musi vedet, co se s cim prohazuje a asi to bude neco ve stylu:

tmp := matice[x,y];
matice[x,y] := matice[n-x+1,n-y+1];  // tusim ze tam to +1 bude muset byt, jelikoz index nezacina od 0 ale od 1
matice[n-x+1,n-y+1] := tmp; 

a nezapomenout skoncit v pulce :D jinak se to zase prohazi na puvodni mista v druhy polovine

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
9. 12. 2013   #4
-
0
-

Slovy: první prvek prvního řádku skončí jako poslední prvek posledního řádku, druhý prvek prvního řádku jako předposlední prvek posledního řádku... a pak stačí tuhle šarádu zapsat pomocí indexů pole a nezapomenout, že při výměně obsahu dvou proměnných (prvků pole) je potřeba použít pomocnou proměnnou (jak napsal KIIV)

hu

Nahlásit jako SPAM
IP: 195.178.67.–
10. 12. 2013   #5
-
0
-

Mockrát děkuji, sice jsem to moc nepochopila, ale od každého jsem si vzala něco a zkoušela to dotý doby než to začlo fungovat   

tak jsem kus kodu od KIIVA napsala do vypisu matice akorát jsem teda nikdě nepotřebovala tu pomocnou proměnnou 

   for x:=1 to n do begin
    for y:=1 to n do
write(matice[n-x+1,n-y+1], '  '); 

Hlavní je, že to funguje, takže ještě jednou Vám moc děkuji   

Nahlásit jako SPAM
IP: 88.103.36.–
KIIV
~ Moderátor
+43
God of flame
10. 12. 2013   #6
-
0
-

#5 Radulinka
jo jestli to stacilo jen vypsat, tak to zadnou pomocnou promennou nepotrebuje

ja to bral jako ze se to otoci primo v tom poli...

o trosku jednodussi by to bylo otocit do jineho pole a priblizne stejne slozity je to jen otocene vypsat :)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
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, 16 hostů

Podobná vlákna

Otočení- rotace — založil Klobma

Otočení polygonu — založil Sekera256

Otoceni brushe — založil CommanderZ

Otočení textu — založil sirek

Animace otoceni stranky — založil dyžon

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ý