Program pointer pascal
program susunangka;
uses crt;
type pointer = ^simpul;
simpul = record
data : byte;
next : pointer;
end;
var awal,baru,bantu,hapus : pointer;
angka,x : byte; mau : char;
procedure cetak;
begin
new(bantu);
bantu := awal;
while bantu^.next <> nil do
begin
write(bantu^.data,' ');
bantu := bantu^.next;
end;
write(bantu^.data);
end;
begin
x := 1;
repeat
clrscr;
new(awal);
awal := nil;
write('[0 untuk berhenti] Masukkan
angka ke ',x,' : ');readln(angka);
inc(x);
until angka <> 0;
repeat
new(baru);
baru^.data := angka;
baru^.next := nil;
if awal = nil then
awal := baru
else
if baru^.data < awal^.data then
begin
baru^.next := awal;
awal := baru;
end
else
begin
new(bantu);
bantu := awal;
while (bantu^.next <> nil) and
(bantu^.next^.data < baru^.data) do
bantu := bantu^.next;
baru^.next := bantu^.next;
bantu^.next := baru;
end;
write('[0 untuk berhenti] Masukkan
angka ke ',x,' : ');readln(angka);
inc(x);
until angka = 0;
write('Setelah data diurutkan = ');
cetak;
writeln;
repeat
write('apakah anda ingin menghapus data
angka genap ?[y/t] : ');readln(mau);
until (mau = 'y') or (mau = 't');
if mau = 'y' then
begin
while (awal^.data mod 2 = 0) and
(awal^.next <> nil) do
begin
new(hapus);
hapus := awal;
awal := hapus^.next;
dispose(hapus);
end;
if (awal^.next = nil) and (awal^.data
mod 2 = 0) then
awal := nil;
if awal <> nil then
begin
new(bantu);
bantu := awal;
while bantu^.next <> nil
do
begin
if bantu^.next^.data mod 2
= 0 then
begin
new(hapus);
hapus := bantu^.next;
bantu^.next :=
hapus^.next;
dispose(hapus);
end
else
bantu := bantu^.next;
end;
end;
end;
if mau = 't' then
write('Data masih tetap sama')
else if awal <> nil then
begin
write('Data setelah semua angka genap
dihapus = ');
cetak;
end
else
write('Data angka ganjil tidak ada');
readln;
end.
Listing program
outputnya
Program pointer c++
#include
"stdio.h"
#include "conio.h"
void main()
{
int *point;
int a=7, b=15;
printf(" Nilai a : %d \n", a);
printf(" Alamat a : %p \n\n",
&a);
point=&a;
printf(" Nilai point = %p \n",
point);
printf(" Alamat point = %p \n",
&point);
printf(" nilai rujukan point = %d
\n\n", *point);
*point=10;
printf(" Nilai point = %p \n",
point);
printf(" Alamat point = %p \n",
&point);
printf(" nilai rujukan point = %d
\n\n", *point);
printf(" Nilai a : %d \n", a);
printf(" Alamat a : %p \n\n",
&a);
printf(" Nilai B : %d \n", b);
printf(" Alamat B : %p \n\n",
&b);
point=&b;
printf(" Nilai point = %p \n",
point);
printf(" Alamat point = %p \n",
&point);
printf(" nilai rujukan point = %d
\n\n", *point);
getch();
}
Listng program c++
Outputnya
Tidak ada komentar:
Posting Komentar