Turbo Pascal - jednorozmerné pole - POMOC

Programovacie jazyky, rady, poradňa...
Scimimaster6
Amateur
Amateur
Príspevky: 22
Registrovaný: 27 mar 2012, 17:59

Turbo Pascal - jednorozmerné pole - POMOC

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

Dobrý deň páni. Som začiatočník a mam problém s týmto zadaním :
Zostav program pre uloženie dát do jednorozmerného pola, jeho výpis a vytvorenie vystupneho pola, ktore bude obsahovať čisla vačšie ako 0 ( >0).

Tu je môj pokus, kt. mi akosi nefunguje. Veľmi pekne Vám ďakujem :

Program pole;
var i : byte;
n : integer;
a : array [1..10] of integer;

begin
for i=1 to 10 do
begin
readln(n);
if i<0 then
begin
a=n;
end
else
begin
writeln (‘číslo je menšie ako 0. ’);
end;
end;
for i=1 to 10 do
writeln (a);
end.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Turbo Pascal - jednorozmerné pole - POMOC

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

Daj kód do tagov CODE, lepšie sa to číta.

Čo znamená podmienka if i<0 then? Resp. čo by si chcel, aby znamenala? Asi by si chcel skontrolovať, či je n menšie ako nula, nie? i nikdy nebude menšie ako nula, keď i ide od 1 do 10.

Každopádne zo zadania skôr rozumiem, že máš všetky hodnoty načítať do pola, vypísať ho, potom do druhého pola nahádzať len prvky väčšie než 0 a potom ho vypísať. Či?

// Veru priraďovanie som si nevšimol. Áno, priradzuje sa pomocou :=
A apostrofy budú asi tiež zle (ak to nie je nejaká vina editora, alebo kopírovania textu)
Sær
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 53
Registrovaný: 17 dec 2013, 15:10

Re: Turbo Pascal - jednorozmerné pole - POMOC

Príspevok od používateľa Sær »

Poznámka ku syntaxi: mám pocit, že v Pascale sa priradzuje pomocou := a nie =. writeln by malo obsahovať klasické apostrofy ('), nie ‘’. Tento kód sa ti ani neskompiluje.
Scimimaster6
Amateur
Amateur
Príspevky: 22
Registrovaný: 27 mar 2012, 17:59

Re: Turbo Pascal - jednorozmerné pole - POMOC

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

Okay skúsil som to prerobiť a zdá sa, že to funguje. Áno, v tom prvom mam chyby všade :) Vďaka.


Program patrik;
Uses crt;
Var I,N,J:integer;
A,B:array[1..100] of integer;
Begin
Clrscr;
Writeln(´Zadaj rozsah pola´);
Readln(N);
For I:=1 to N do
Begin
Writeln(´Zadaj ´,I,´.cislo‘);
Readln(A);
End;
Writeln(´Zadal si tieto cisla:´);
For I:=1 to N do
Begin
Write(´zadane c.=´,A,´;´);
End;
J:=1;
For I:=1 to N do
Begin
If A>0 then
Begin
B[J]:=A;
J:=J+1;
End;
End;
Writeln(´Kladne cisla su tieto:´);
For J:=1 to J-1 do
Write(´kladne cislo=´,B[J],´;´);
Readkey;
End.
Napísať odpoveď