Anh em pascal vô help giùm mình đoạn code với :-ss

vodanhlata

Hero
Joined
Oct 25, 2012
Messages
1,189
Reactions
457
MR
0.501
Chat with me via Skype
ờ ờ cái lờ, đọc #18 tự code đê, chú ý nếu nhập mảng cả nguyên dương và nguyên âm thì sửa lại xíu thêm 1 mảng cho số âm nữa. thuật toán này được cái dễ hiểu và chạy nhanh, mảng nhập rất rất rất nhiều phần tử thì chạy rất rất rất nhanh hơn so với giải thuật khác :m131:
Đọc vô chả hiểu j` hết =))
 

hoangkyem

Senior
Joined
Dec 8, 2012
Messages
325
Reactions
225
MR
0.000
mình viết bằng C++ cậu chuyển qua Pascal được không?. Chứ Pascal học lâu quá rồi, quên luôn cú pháp mấy câu lênh đi rồi. :D
 
Đọc vô chả hiểu j` hết =))
ví dụ chạy tay thuật toán #18 nhé. chỉ nhập số nguyên dương, nếu nguyên âm thêm 1 mảng tần suất nữa.

ví dụ mảng_số_nguyên gồm 5 phần tử [1, 3, 1, 2, 3] số lớn nhất của mảng là 3 => mảng tần_suất có 3 phần tử.

for i: = 1 to 5 do
begin
tần_suất [ mảng_số_nguyên ] := tần_suất [ mảng_số_nguyên ] + 1;
end;

khi chạy i = 1;
mảng_số_nguyên[1] = 1 nên tần_suất [ mảng_số_nguyên[1] ] := tần_suất [ mảng_số_nguyên[1] ] + 1;
sẽ được tần_suất[1] = tần_suất[1] + 1 = 1
khi chạy i = 2;
mảng_số_nguyên[2] = 3 nên tần_suất [ mảng_số_nguyên[2] ] := tần_suất [ mảng_số_nguyên[2] ] + 1;
sẽ được tần_suất[3] = tần_suất[3] + 1 = 1
khi chạy i = 3;
mảng_số_nguyên[3] = 1 nên tần_suất [ mảng_số_nguyên[3] ] := tần_suất [ mảng_số_nguyên[3] ] + 1;
sẽ được tần_suất[1] = tần_suất[1] + 1 = 2
khi chạy i = 4;
mảng_số_nguyên[4] = 2 nên tần_suất [ mảng_số_nguyên[4] ] := tần_suất [ mảng_số_nguyên[4] ] + 1;
sẽ được tần_suất[2] = tần_suất[2] + 1 = 1
khi chạy i = 5;
mảng_số_nguyên[5] = 3 nên tần_suất [ mảng_số_nguyên[5] ] := tần_suất [ mảng_số_nguyên[5] ] + 1;
sẽ được tần_suất[3] = tần_suất[3] + 1 = 2

Khi in ra

for i:= 1 to 3 do
if tần_suất khác rỗng then
in ra số i xuất hiện tần_suất lần

khi chạy

số 1 xuất hiện tần_suất[1] = 2 lần
số 2 xuất hiện tần_suất[2] = 1 lần
số 3 xuất hiện tần_suât[3] = 2 lần

hiểu k :m122:
 
Program Tansuat;
Uses crt;
var i,k,j,n:integer;
dem,A: array [1..100] of integer;
begin
clrscr;
write('Nhap so pt:');readln(n);
for i:=1 to n do
begin
write('Nhap so thu ',i,' : ');
readln(A);
end;
for i:=1 to n do
begin
dem:=0;
for j:= 1 to n do
if A=a[j] then inc(dem);
end;
for i:=1 to n do writeln('So lan xuat hien so ', a, 'la: ', dem);
readln;
end.
Đây rùi theo ý chủ thớt!
 
Program Tansuat;
Uses crt;
var i,k,j,n:integer;
dem,A: array [1..100] of integer;
begin
clrscr;
write('Nhap so pt:');readln(n);
for i:=1 to n do
begin
write('Nhap so thu ',i,' : ');
readln(A);
end;
for i:=1 to n do
begin
dem:=0;
for j:= 1 to n do
if A=a[j] then inc(dem);
end;
for i:=1 to n do writeln('So lan xuat hien so ', a, 'la: ', dem);
readln;
end.
Đây rùi theo ý chủ thớt!

lại n bảng n dòng rồi :m014:

chủ thớt đọc #18 tự code send c*ặ*c điện thoại đây, tốn time quá :m019:
 
Program Tansuat;
Uses crt;
var i,k,j,n:integer;
dem,A: array [1..100] of integer;
begin
clrscr;
write('Nhap so pt:');readln(n);
for i:=1 to n do
begin
write('Nhap so thu ',i,' : ');
readln(A);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if a >= a[j] then
begin
k:= a;
a:=a[j];
a[j]:=k;
end;
for i:=1 to n do
begin
dem:=0;
for j:= 1 to n do
if A=a[j] then inc(dem);
end;
for i:=1 to n do if a<>a[i-1] then writeln('So lan xuat hien so ', a, 'la: ', dem);
readln;
end.
Của cậu đây đã lọc trùng!
 
Last edited by a moderator:
Program Tansuat;
Uses crt;
var i,k,j,n:integer;
dem,A: array [1..100] of integer;
begin
clrscr;
write('Nhap so pt:');readln(n);
for i:=1 to n do
begin
write('Nhap so thu ',i,' : ');
readln(A);
end;
for i:=1 to n do
for j:=i to n-1 do
if a >= a[j] then
begin
k:= a;
a:=a[j];
a[j]:=k;
end;
for i:=1 to n do
begin
dem:=0;
for j:= 1 to n do
if A=a[j] then inc(dem);
end;
for i:=1 to n do if a<>a[i+1] then writeln('So lan xuat hien so ', a, 'la: ', dem);
readln;
end.
Của cậu đây đã lọc trùng!

mảng a có n phần tử mà sử dụng phần a[n+1] lỗi rồi :m014:
 

tatqlt

Newbie
Joined
Oct 15, 2012
Messages
17
Reactions
89
MR
0.018
Program Tansuat;
Uses crt;
var i,k,j,n,max:integer;
b,st: array [1..100] of integer;
begin
clrscr;
write('Nhap so pt:');readln(n);
for i:=1 to n do
Begin
write('st[',i,']=');readln(st);
End;
b:=0;
for i:=1 to n do
for j:=1 to n do
if st=st[j] then inc(b);
i:=1;
while i<=n do
begin
k:=0;
for j:=i+1 to n do
if st[j]<>st then k:=k+1;
if k=n-i then writeln('so lan xuat hien cua ',st,' la', b);
i:=1+i;
end;
readln;
end.
aaaaaaaaaaaaaaaaaaaaaaa test đi bác
 
Last edited by a moderator:
mobifone 01226463260 :m121:

@1or0 tính nhẩm code jeannotlafart, tatqlt với mảng số nguyên là 3, 3, 3, 3, 4, 4, 5, 5, 6 chạy k đúng nhỉ, chủ thớt thử nhập số các số trên xem ra kết quả đúng k :m014:
 
vẫn đúng mà cậu, cậu toàn nhẩm nhỉ :binhsua50:, công sức của em đó
untitled.JPG
 

Announcements

Today's birthdays

Forum statistics

Threads
423,820
Messages
7,133,593
Members
176,266
Latest member
banhmikebab

Most viewed of week

Most discussed of week

Most viewed of week

Most discussed of week

Back
Top Bottom