program v pascale

Programovacie jazyky, rady, poradňa...
PAuLi3
Darca
Darca
Používateľov profilový obrázok
Príspevky: 4737
Registrovaný: 28 dec 2006, 18:33
Bydlisko: Komjatice,Nitra
Kontaktovať používateľa:

program v pascale

Príspevok od používateľa PAuLi3 »

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
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

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.
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

audiotrack napísal:

Kód: Vybrať všetko

procedure napln;
begin
  for I:=1 to VELKOST do b[i]:=a[i];
end;
v Pascale sa to da aj jednoduchym priradenim b:=a; pokial a nieje konstanta.
Gregi
Light Star
Light Star
Príspevky: 224
Registrovaný: 24 mar 2005, 11:34

Taak

Príspevok od používateľa Gregi »

Neviem ci som to pochopil spravne. Tak si to pozri a daj vediet :wink:

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
Darca
Používateľov profilový obrázok
Príspevky: 4737
Registrovaný: 28 dec 2006, 18:33
Bydlisko: Komjatice,Nitra
Kontaktovať používateľa:

Príspevok od používateľa PAuLi3 »

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.
PAuLi3
Darca
Darca
Používateľov profilový obrázok
Príspevky: 4737
Registrovaný: 28 dec 2006, 18:33
Bydlisko: Komjatice,Nitra
Kontaktovať používateľa:

Príspevok od používateľa PAuLi3 »

diki chlapci za rady mozte to tu :lock:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

no ak si to chcel meniť, tak nerob hambu programovaniu :lol:
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
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

ferderikoo napísal:tnks a lot ale ja som sito este trosku pozmenil
Nikdy neskusaj spajat dva rozne zdrojaky dokopy.. velakrat sa to neoplaca.
PAuLi3
Darca
Darca
Používateľov profilový obrázok
Príspevky: 4737
Registrovaný: 28 dec 2006, 18:33
Bydlisko: Komjatice,Nitra
Kontaktovať používateľa:

Príspevok od používateľa PAuLi3 »

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 a tie zlozky pola si musim napisat ja sam v programe a nie aby boli dane dopredu
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

ferderikoo 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
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 K

//edit: keď nedávaš ani menej ani viac, ale vždy práve 10, tak načo je ti tam premenná n? :roll:
//edit2: už je to lepšie :)
PAuLi3
Darca
Darca
Používateľov profilový obrázok
Príspevky: 4737
Registrovaný: 28 dec 2006, 18:33
Bydlisko: Komjatice,Nitra
Kontaktovať používateľa:

Príspevok od používateľa PAuLi3 »

aha uz viem co ste mysleli sory moja chyba som NEVSIMAVY

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.
dufam ze toto je uz lepsie
Napísať odpoveď