program v pascale
-
PAuLi3
Darca
- Príspevky: 4737
- Registrovaný: 28 dec 2006, 18:33
- Bydlisko: Komjatice,Nitra
- Kontaktovať používateľa:
program v pascale
Pomozte mi prosim napisat tento program
Zostavte programy,kt.prenesiete 10 - zlozkove pole A do 10 - zlozkoveho pola B tak ,aby
a)zlozky pola B boli v rovnakom poradi ako zlozky pola A
b)zlozky pola B boli v opacnom poradi ako zlozky pola A
Zostavte programy,kt.prenesiete 10 - zlozkove pole A do 10 - zlozkoveho pola B tak ,aby
a)zlozky pola B boli v rovnakom poradi ako zlozky pola A
b)zlozky pola B boli v opacnom poradi ako zlozky pola A
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Kód: Vybrať všetko
program pole;
const VELKOST=10;
var a,b:array[1..VELKOST] of integer;
I:integer;
procedure napln;
begin
for I:=1 to VELKOST do b[i]:=a[i];
end;
procedure naplnopacne;
begin
for I:=1 to VELKOST do b[VELKOST-I+1]:=a[i];
end;
begin
for I:=1 to VELKOST do a[i]:=random(51); {naplnim pole a}
for I:=1 to VELKOST do write(a[i]:4); {vypisem pre kontrolu}
writeln;
napln; {zavolam prislusne procedury}
for I:=1 to VELKOST do write(b[i]:4); {vypisem pre kontrolu pole b}
naplnopacne;
for I:=1 to VELKOST do write(b[i]:4); {vypisem opacne zoradene pole b}
writeln;
readln;
end.
v Pascale sa to da aj jednoduchym priradenim b:=a; pokial a nieje konstanta.audiotrack napísal:Kód: Vybrať všetko
procedure napln; begin for I:=1 to VELKOST do b[i]:=a[i]; end;
Taak
Neviem ci som to pochopil spravne. Tak si to pozri a daj vediet
Kód: Vybrať všetko
program POLIA;
uses Crt;
var
i: integer;
pole1,pole2: array[0..9] of integer;
stlkla: char;
BEGIN
ClrScr; { vymaze obrazovku }
for i:=0 to 9 do begin { nacita postupne hodnoty do pola1 }
Write ('Zadaj pole c.',i,': ');
ReadLn (pole1[i]);
end;
ClrScr; { vymaze obrazovku }
WriteLn ('1 - konvertuj pole A do pola B identicky'); { menu - vypyse volby }
WriteLn ('2 - konvertuj pole A do pola B inverzne;');
stlkla:=ReadKey; { nacita sltlacenu klavesu do premennej sltkla typu char - znak }
if stlkla='1' then for i:=0 to 9 do pole2[i]:=pole1[i]; { ak "1" tak presun rovnako }
if stlkla='2' then for i:=0 to 9 do pole2[9-i]:=pole1[i]; { ak "2" tak obrat poradie }
WriteLn; { prazdny riadok }
WriteLn ('VYPIS poli: "A" "B"'); { hlavicka vypisu poli }
WriteLn; {prazdny riadok }
for i:=0 to 9 do begin { vypis hodnoty poli }
WriteLn ('prvok c.',i,'',pole1[i]:7,'',pole2[i]:7);
end;
ReadLn; {cakaj s vypisom, dokial cosi nestlaci }
END.
- Prílohy
-
- polia.zip
- (4.19 KiB) 62 stiahnutí
-
PAuLi3
Darca
- Príspevky: 4737
- Registrovaný: 28 dec 2006, 18:33
- Bydlisko: Komjatice,Nitra
- Kontaktovať používateľa:
tnks a lot ale ja som sito este trosku pozmenil
Kód: Vybrať všetko
program pole;
uses crt;
const K=10;
var a,b:array[1..K] of integer;
I,n:integer;
procedure napln;
begin
for I:=1 to K do b[i]:=a[i];
end;
procedure naplnopacne;
begin
for I:=1 to K do b[K-I+1]:=a[i];
end;
BEGIN
clrscr;
write('Zadaj pocet zloziek pola: ');
readln(n);
writeln('Zadaj zlozky pola :');
for i:=1 to n do begin write('a[',i,'] = ');
readln(a[i]);
end;
writeln('Zlozky pola A su');
for i:=1 to K do write(a[i]);
writeln;
napln;
writeln('Zlozky pola B ,ktore su v rovnakom poradi ako zlozky pola A su');
for i:=1 to K do write(b[i]);
naplnopacne;
writeln;
write('Zlozky pola B v opacnom poradi ako zlozky pola A su ');
writeln;
for i:=1 to K do write(b[i]);
writeln;
readln;
END.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
no ak si to chcel meniť, tak nerob hambu programovaniu
načítavaš n hodnôt, ale vypisuješ k (teda 10 hodnôt). AK zadám n<k tak zvyšných k-n bude nedefinovaných a čo teda vypíše? ak zadám n>k tak bude chceť naplniť aj index pola ktorý neexistuje = zrútenie programu
Na takéto riešenie si mal použiť dynamické pole ktoré by sa vytvorilo až po zadaní n a jeho veľkosť by bola práve n prvkov
načítavaš n hodnôt, ale vypisuješ k (teda 10 hodnôt). AK zadám n<k tak zvyšných k-n bude nedefinovaných a čo teda vypíše? ak zadám n>k tak bude chceť naplniť aj index pola ktorý neexistuje = zrútenie programu
Na takéto riešenie si mal použiť dynamické pole ktoré by sa vytvorilo až po zadaní n a jeho veľkosť by bola práve n prvkov
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
tak to je aký argument.. hej, aj microsoft môže vydať nový systém, ale v readme bude písané že nemáme otvárať viac ako 50 okien lebo sa zrúti, nie? Keď niečo robiš, tak poriadne.. minimálne si mal ošetriť slučkou že bude žiadať n až kým sa nezadá menšie ako Kferderikoo napísal:ale sak zadat mam 10 zloziek tak nedam ani viac ani menej zloziek dam vzdy len 10 zloziek
a sak ide to a to je hlavne
//edit: keď nedávaš ani menej ani viac, ale vždy práve 10, tak načo je ti tam premenná n?
//edit2: už je to lepšie
-
PAuLi3
Darca
- Príspevky: 4737
- Registrovaný: 28 dec 2006, 18:33
- Bydlisko: Komjatice,Nitra
- Kontaktovať používateľa:
aha uz viem co ste mysleli sory moja chyba som NEVSIMAVY
dufam ze toto je uz lepsie
Kód: Vybrať všetko
program pole;
uses crt;
const K=10;
var a,b:array[1..K] of integer;
I:integer;
procedure napln;
begin
for I:=1 to K do b[i]:=a[i];
end;
procedure naplnopacne;
begin
for I:=1 to K do b[K-I+1]:=a[i];
end;
BEGIN
clrscr;
writeln('Zadaj zlozky pola :');
for i:=1 to K do begin write('a[',i,'] = ');
readln(a[i]);
end;
writeln('Zlozky pola A su');
for i:=1 to K do write(a[i]);
writeln;
napln;
writeln('Zlozky pola B ,ktore su v rovnakom poradi ako zlozky pola A su ');
for i:=1 to K do write(b[i]);
naplnopacne;
writeln;
write('Zlozky pola B v opacnom poradi ako zlozky pola A su ');
writeln;
for i:=1 to K do write(b[i]);
writeln;
readln;
end.