nobody.gu3st
یک شنبه 27 شهریور 1390, 13:32 عصر
با سلام
دوستان به من پروژه اي محول شده که توي يک قسمتش موندم اونم اينه که ما يک سري عدد به ليست باکس وارد ميکنيم و سپس با يک کليد (باتون) مشخص ميکنيم بيشترين عددي که تکرار شده چيه و تعداد تکرار اون چيه
خروجي يا با ليبل يا با show massage ممنون ميشم راهنمايي کنيد !
MohsenB
یک شنبه 27 شهریور 1390, 15:48 عصر
سلام
اینم یه نمونه ساده :
var i, j, Max, Count, eqc, beqc :integer;
item :String;
arr :Array of integer;
procedure MySwap(var a, b :Integer);
var tmp :Integer;
begin
tmp:= a; a:= b; b:= tmp;
end;
begin
Count:= ListBox1.Items.Count - 1;
SetLength(arr, Count+1);
for i:= 0 to Count do
arr[i]:= StrToInt(ListBox1.Items.Strings[i]);
//کد اصلي
for j:= 0 to Count do
for i:= j+1 to Count do
if arr[i]>arr[j] then MySwap(arr[i], arr[j]);
Max:= arr[0]; eqc:= 0; beqc:= 0;
for i:= 1 to Count do
if arr[i-1]=arr[i] then
Inc(eqc)
else begin
if eqc>beqc then begin
beqc:= eqc;
Max:= arr[i-1];
end;
eqc:= 0;
end;
SetLength(arr, 0); arr:= nil;
ShowMessage('بيشترين عدد ' + IntToStr(Max) + ' مي باشد که ' + IntToStr(beqc) + ' بار تکرار شده است.');
end;
پیروز و پاینده باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.