Autor Zpráva
thessa
Profil *
Ahoj, potřebuju poradit:
mam udělat parymidu z hvězdiček o n řádcích, kde n je počet hvězdiček ve spodním řádku a celý to zarovnat na střed pomocí pevných mezer...
Už tu nad tim sedim jak dlouho a netušim, nemohl byste mi to někdo ne celý říct (chci to jakž takž udělat sama), ale aspoň trochu nastínit...? Prosím.
Peca
Profil
Vezmi tužku a papír, nakresli si pár příkladů pro různá n a zkus z toho něco odvodit. Místo pevných mezer si piš třeba tečky.
To n musí být liché, nebo jak se mají vykreslovat jednotlivé stupně?
thessa
Profil *
No, když n bude 7, tak dole bude hvězdiček 7, o patro výš 6, pak 5 a tak až nahoru...
Peca
Profil
A jak to chceš zarovnat na střed? Umíš napsat půl pevné mezery? Na tužku a papír zřejmě ještě nedošlo...
Timy
Profil
thessa
Nebude to spíš 1 hvězdička, 3 hvězdičky, 5 hvězdiček apod? Počet mezer před hvězdičkami pak bude počet řádků minus jedna.
thessa
Profil *
Nee, právě že kdy jich bude dole 7, tak nahoře bude v každý jakoby mezeře 1, teda 6.
To zarovnání platilo na celou tu parymidu.
esemeska
Profil
Co takhle pouzic zarovnani na stred napr. text-align: center, pokud to tak ovsem nesmi byt (ukol do skoly...), tak to bude jak napsal Timy," počet řádek" - "1" před hvězdičkami.
Cyklus se z toho dá odvodit už jednoduše

http://artus.smnd.sk/anino/moje/c/node7.html
souki
Profil
Hlavně v tom nehledat složitosti. Jde to udělat snadno na 2 řádky
thessa
Profil *
no, já fakt vůbec nevím, můžete mi někdo poradit? nevim, jak andefinovat tu proměnnou, už jsme něco dělali s číslem, ale když potřebuju vypsat hvězdičky, tak to bude i=*...?
Alphard
Profil
thessa
tak to bude i=*...?
v jakém jazyku tvoříš?
o n řádcích, kde n je počet hvězdiček ve spodním řádku a celý to zarovnat na střed pomocí pevných mezer
zní zadání skutečně takhle?
nechceš spíš tohle?

*
***
*****
*******
*********
***********
thessa
Profil *
No mně se to zdá taky divný, je to úkol na ivt, v Javascriptu.
On nám to i nakreslil na tabuli a měl normálně v každym řádku nahoru jen o jednu hvězdičku míň. A jak bych alespoň udělala to co jsi "nakreslil" ty? Ať mám alespoň něco...

K tomu i=*, i by mělo být jen číslo, že?
Alphard
Profil

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<meta name="generator" content="PSPad editor, www.pspad.com">
<meta name="author" content="Alphard">
<title>Pyramida</title>
<script type="text/javascript">
function nk(co, ko)
{ for (i=1; i<=ko; i++)
{ document.write(co); } }
</script>
<style type="text/css">
body {font-family: Courier;}
</style>
</head>
<body>
<script type="text/javascript">
var radky = 21; // pocet radku, liche cislo
var znaky = radky *2-1;

var t = 1;

for (r=1; r<= radky; r++)
{ nk ('&nbsp;', (znaky-t)/2);
nk ('*', t);
nk ('<br>',1);
t += 2; }
</script>
</body>
</html>
souki
Profil

for(i=0;i<21;i++){
for(k=Math.floor((21-i)/2);k>0;k--) document.write("&nbsp;");
document.write("*\n");
}


...jenom hádám a jsem líný se zamyslet, jestli nebude postavená obráceně

EDIT: ******* zpětná lomítka
Alphard
Profil
var radky = 21; // pocet radku, liche cislo
nemusí to být jen liche číslo, sorry
thessa
Profil *
Když na to koukám, tak mu asi řeknu, že sem lama a netušim:)) Než aby to po mně chtěl ještě vysvětlit...
Všem vám moc děkuju a přeju pěknej tejden:))
Tereza
zivan
Profil
To reseni je dost neoptimalizovane. Jsou tam zbytecne 2 cykly, ale vzdy staci jen pridavat jednu hvezdicku k predchozimu radku.

Se zarovnanim pomoci CSS by to mohlo vypadat treba takhle:

<html>
<head>
<title>Pyramida</title>
</head>
<body>
<script>
var n = 15;
var radek = "";
document.write('<div style="text-align:center">');
for (var i = 1; i <= n; i++)
{
radek += "*";
document.write(radek+'<br>');
}
document.write('</div>');
</script>
</body>
</html>
Toto téma je uzamčeno. Odpověď nelze zaslat.