Thứ Sáu, 2 tháng 3, 2012

Hiển thị người có tên trùng nhau nhiều nhất

aNgôn ngữ VB6



Cho danh sách gồm n người. Hiển thị người có tên trùng nhau nhiều nhất.


------------------------------------------------------------------
Download execuable:
  Tim nguoi co trung ten nhieu nhat.exe   40.0 KB 

Mọi bài tập của chúng tôi các bạn có thể tìm ở: http://code.google.com/p/vb-6-api/downloads/list
Screenshot





Đối tượng
danh_sach
listbox (1) chứa danh sách các tên.
view
listbox (2) chứa kết quả.
Cmd_them
Nút thêm tên được lấy từ txt_nhap(4)
Cmd_sua
Nút sửa tên có trong danh_sach(5)
Cmd_xoa
Xóa 1 tên trong danh_sach(6)
Cmd_max
Tìm người có tên trùng nhiều nhất trong danh_sach.(7)
Txt_nhap
Hộp nhập tên. (3)


Giải thích hàm
add_or_modify_to_list(txt   As String,i As Double)
Thêm or sửa item của danh_sach
get_item_selected(opt As String)
Lấy 1 item đã lựa chọn trong danh_sach.
Nếu opt=”index”: trả về chỉ số của item được chọn.
Nếu opt=”text”: trả về tên hiển thị của item được chọn.
Note: nếu không có item được chọn thì trả về -1 (“index”) or chuỗi rỗng (“text”).
del_item_at(i As Integer)
Xóa 1 item ở vị trí i nếu tồn tại.
get_name(name As String) As String
Lấy tên từ chuỗi họ tên đầy đủ name.
isset(key As String, ByRef d)
Thừa nhận mảng d có cấu trúc:
Mang()=[“nhãn”,value]
-Hàm kiểm tra nhãn key có tồn tại trong mảng d không?
prep_struct(key As String, size As Integer)
Trả về cấu trúc mảng có 2 phần tử: phần tử 1 là giá trị key, phần tử 2 là mảng có kích thước size.
set_name(ByRef d, key As String, fullname)
Thêm giá trị tên đầy đủ fullname vào mảng d có nhãn key.
Note: đã thừa nhân cấu trúc mảng đã nói ở trên.
add_view_only_name(data)
Thêm tên item cho đối tượng view bởi mảng data(0) à chỉ lấy tên trùng.
add_view_all_name(data)
Thiết lập item cho đối tượng view bởi mảng data(1) à tất cả các tên trùng nhau.


Download full: 


Ngôn ngữ PHP


/*------begin of functions--------*/
function get_name($name){
 preg_match('|[^\s]+$|',$name,$g);
 if(count($g)) return $g[0];
}

/*------end of functions---------*/
$list_name=array(
 "nguyen van A",
 "nguyen van B",
 "le thi B",
 "dinh nghia B",
 "Hoang hoa B",
 "A"
 );

$filter=array();
$result=array();

foreach($list_name as $name){
 if(!isset($filter[get_name($name)])) $filter[get_name($name)]=array();
 $filter[get_name($name)][]=$name;
}

foreach($filter as $label=>$group)
{

 if(isset($n)){
  if(count($group)>$n){
   $n=count($group);
   $result[$label]=$group;
  }
 }else 
  $n=count($group);
}

if(count($result)==0) $result=$filter;

var_dump($result);

0 nhận xét:

Đăng nhận xét

 
Copyright © hoangit