Pascal - pomoc s prikladmi
-
Hossa1881
Medium Professional
- Príspevky: 1071
- Registrovaný: 31 júl 2005, 21:51
- Bydlisko: Martin//Ostrava
- Kontaktovať používateľa:
Pascal - pomoc s prikladmi
1. da sa z pola kde je napr 1 1 1 spravit jedna premenna, jedno cislo 111?
2.program....textovo alebo graficky...vstup – utvar ktoreho uhlopriecku tvori iny znak...napr. v=5
****
* ***
** **
*** *
****
3.program...text alebo graf. rezim....po zadani vstupu vykresli utvar(vyska a dlzka schodov) napr. v=5
*****
*****
*****
*****
*****
4. ) program...text alebo graf. rezim.....
napr. v=5
*****
****
***
**
*
ak daktory z tychto budete vediet pls napiste, dakujem za pomoc a k+
2.program....textovo alebo graficky...vstup – utvar ktoreho uhlopriecku tvori iny znak...napr. v=5
****
* ***
** **
*** *
****
3.program...text alebo graf. rezim....po zadani vstupu vykresli utvar(vyska a dlzka schodov) napr. v=5
*****
*****
*****
*****
*****
4. ) program...text alebo graf. rezim.....
napr. v=5
*****
****
***
**
*
ak daktory z tychto budete vediet pls napiste, dakujem za pomoc a k+
1. od najvyssieho nasobis prvky pola nasobkami desiatky + scitas vysledky..napr mas pole 1 2 3, tak nasobis 3*1 + 2*10 + 1*100 = 123
ak je pole prilis velke je lepsie si spravit nejaky cyklus (zrejme while - kym ti neskonci pole) kde sa bude premenna nasobit 10...
2. 2 cykly (napr i a j) - v jednom sa bude zvysovat pocet riadkov, v druhom pocet stlpcov, na zaciatku alebo konci vonkajsieho z tychto cyklov odriadkujes..niekde tam das podmienku, ze ak sa i=j tak nech vypise iny znak..
3. nepochopil som "dlzka schodov"..
4. treba skusat - neviem ti povedat z hlavy algoritmus..
ak je pole prilis velke je lepsie si spravit nejaky cyklus (zrejme while - kym ti neskonci pole) kde sa bude premenna nasobit 10...
2. 2 cykly (napr i a j) - v jednom sa bude zvysovat pocet riadkov, v druhom pocet stlpcov, na zaciatku alebo konci vonkajsieho z tychto cyklov odriadkujes..niekde tam das podmienku, ze ak sa i=j tak nech vypise iny znak..
3. nepochopil som "dlzka schodov"..
4. treba skusat - neviem ti povedat z hlavy algoritmus..
-
morfeusko
Medium Star
- Príspevky: 395
- Registrovaný: 19 mar 2008, 15:21
- Bydlisko: Nitra
- Kontaktovať používateľa:
Skus tie zadania trosku preformulovat alebo dat lepsie ukazky lebo tazko ti je poradit ked zo zadania nie je poriadne rozumiet co to ma robit..
a k tej 4:
este k tej 1 ako pisal konyk87 to je najjednoduchsi sposob ako to spravit ale moze tam nastat problem ak mas pole deklarovane pre napr. 10 prvkov a do pola zadas len 3 potom teoreticky by tych zvysnych 7 casti pola malo byt prazdnych....ale prakticky nie su. Takze tam moze nastat problem ako to zohladnit...lenze tazko radit ak nemas presne definovany vstup...
a k tej 4:
Kód: Vybrať všetko
for i:=n downto 1 do
begin
for j:=1 to i do
write('*');
writeln;
end;
k tomu prvemu:
asi sa to ma nacitavat po znakoch. osobne by som to riesil tak ze by som nacital znak(cislicu) a pred kazdym nacitanim by som vynasobil vyslednu premennu 10. potom by som nacitanu hodnotu pripocital k vyslednej.
Kedze pascal je u mna uz zabudnuty jazyk tak aspon nejaky pseudokod:
dufam ze som tie indexi pola nepoplietol a v pascale je to od 1 do dlzky pola vratane
asi sa to ma nacitavat po znakoch. osobne by som to riesil tak ze by som nacital znak(cislicu) a pred kazdym nacitanim by som vynasobil vyslednu premennu 10. potom by som nacitanu hodnotu pripocital k vyslednej.
Kedze pascal je u mna uz zabudnuty jazyk tak aspon nejaky pseudokod:
Kód: Vybrať všetko
integer vysledok=0;
for i =1 , i <= dlzka pola, i=i+1
vysledok = 10*vysledok + pole[i];
-
morfeusko
Medium Star
- Príspevky: 395
- Registrovaný: 19 mar 2008, 15:21
- Bydlisko: Nitra
- Kontaktovať používateľa:
Kód: Vybrať všetko
for i:=1 to n do
write('*');
for i:=1 to n-1 do //n-1 preto lebo prvy riadok neni zahrnuty v tomto cykle
begin
for i:=1 to i do
write(' ');
for i:=1 to n do
write('*');
end;
drobny deteail
by som vymenil zamorfeusko napísal:Kód: Vybrať všetko
for i:=1 to n-1 do //n-1 preto lebo prvy riadok neni zahrnuty v tomto cykle begin for i:=1 to i do
Kód: Vybrať všetko
for j:=1 to n-1 do //n-1 preto lebo prvy riadok neni zahrnuty v tomto cykle
begin
for i:=1 to j do
asi takto
Kód: Vybrať všetko
for i:=1 to n do
begin
for j:=1 to n do
begin
if i=j then
write(' ');
else
write('*');
end
end-
Hossa1881
Medium Professional
- Príspevky: 1071
- Registrovaný: 31 júl 2005, 21:51
- Bydlisko: Martin//Ostrava
- Kontaktovať používateľa:
s tym writelnom ma to napadlo, uz to mam tak aby to robilo ako v zadani, dik za pomoc:tuti napísal:tak medzi tie dva endy daj writeln;takto sa velmi programovat nenaucis
begin
clrscr;
writeln('zadaj vysku');
readln(n);
for i:=1 to n-1 do
write('*');
writeln;
for i:=2 to n do begin
for j:=1 to n do begin
if i=j then write(' ' )
else write('*');
end;
writeln;
end;
readln;
end.