Minggu, 30 Desember 2012

Newbie minta [HELP] free pascal, please >.<

jangan di bataBlue Guy Bata (L)ya gan.. >.<Salaman

Mau tanya dikit tentang Array di pascal..Malu (S)
bisa gak gan nilai maksimal array di tentuin sama user pada saat run program?
contoh : ane biasanya pake array dgn cara ini
A : array [1..5] of integer;
itu kan berarti nilai array maksimal nya 5,, nah itu udah ditentuin sama program nya kalo nilai maksimal array nya 5..
nah,, ane pengen nilai maksimal array nya itu ditentuin dari input user pada saat run program.. bisa gak gan?

contoh program nya gini.. tapi masih errorHammer2


Spoilerfor coding:



Program Luas_Persegi;
uses crt;

Procedure luas(x:integer);
Var
luas:array [1..x] of integer;
s:integer;
i:integer;
Begin
for i:=1 to x do
begin
write('Masukkan sisi persegi :');
readln(s);
luas[i]:=(s*s);
end;
End;

VAR
jwb:char;
a:integer;
BEGIN
jwb:='Y';
a:=0;
while(jwb='Y') do
begin
a:=a+1;
luas(a);
end;
readln;
END.






Quote:Original Posted By mnemonix â–º
pake SetLength
http://wiki.freepascal.org/DYNAMIC_ARRAY


makasih gan,, mau di coba dulu..
ntar kalo ada masalah lagi boleh nanya lagi ya gan momod..Malu (S)

belum nemu solusi gan..Sundul
kalo boleh.. minta contoh nya..Malu (S)


Quote:Original Posted By cendolss â–º
belum nemu solusi gan.. Sundul
kalo boleh.. minta contoh nya.. Malu (S)
Agan udah usaha sampe mana ?

nih contohnya...

Code:



var

MyVariable : array of type;

begin

SetLength(MyVariable,19); // panjangnya 19

MyVariable[18] := 123; // isi yg ke 19

end



sorryBlue Repost

sudah bukainibelum ??

masih kurang??


Quote:Original Posted By DarknessTalic â–º
Agan udah usaha sampe mana ?


Quote:Original Posted By luckynvic â–º
nih contohnya...

Code:



var

MyVariable : array of type;

begin

SetLength(MyVariable,19); // panjangnya 19

MyVariable[18] := 123; // isi yg ke 19

end



sorry Blue Repost

sudah buka ini belum ??

masih kurang??



udah buka link yg tadi gan..

terus ane udah bikin gini..


Spoilerfor :



Program array_persegi;
uses crt;

Procedure luas;
Var
luas:array of integer;
s:integer;
i:integer;
x:integer;
Begin
for i:=1 to x do
begin
write('Masukkan sisi persegi :');
readln(s);
luas[i]:=(s*s);
end;
End;

VAR
jwb:char;
a:integer;
x:integer;
BEGIN
x:=1;
jwb:='Y';
a:=0;
while(jwb='Y') do
begin
a:=a+1;
luas;
setlength(luas,a);
end;
readln;
END.




jadi gini gan kasusnya..

1. buat array yang nilai elemen array nya merupakan hasil perhitungan luas persegi(bujur sangkar).
2. buat pilihan apakah user akan mengulangi lagi perhitungan luas atau tidak.
3. dan jumlah elemen array ditentukan oleh seberapa kali user mengulang perhitungan luas.

maap gan,, bukan nya minta di bikinin coding nya,, tapi saya cuma nanya di bagian array yang dinamis nya.. tapi klo mau kasih solusi tentang coding nya juga gpp..Malu (S)

Masalah agan bukan di pengaturan panjang array sebenernya, tapi campur aduk gitu antara nama variabel dengan nama prosedur, terus pake variabel lokal tapi nggak diset secara lokal.Bingung (S)


Quote:Original Posted By cendolss â–º
jadi gini gan kasusnya..

1. buat array yang nilai elemen array nya merupakan hasil perhitungan luas persegi(bujur sangkar).
2. buat pilihan apakah user akan mengulangi lagi perhitungan luas atau tidak.
3. dan jumlah elemen array ditentukan oleh seberapa kali user mengulang perhitungan luas.

maap gan,, bukan nya minta di bikinin coding nya,, tapi saya cuma nanya di bagian array yang dinamis nya.. tapi klo mau kasih solusi tentang coding nya juga gpp.. Malu (S)


mudah kok asal tahu logikanya...

Code:



var

Tanya : char;

Jml : integer;

Arr : array of double;

Luas : double;

begin

Jml := 0;

Tanya := 'Y';

repeat

.. hitung luas...

Inc(Jml);

SetLength(Arr, Jml);

Arr[Jml-1] := Luas;

... tanya ke user mau hitung lagi ga ...

until Tanya = 'N';

end;



untested yah...

Tidak ada komentar:

Posting Komentar