Home » All posts
Người đăng:
vuivengay on Thứ Sáu, 28 tháng 2, 2014
Viết hàm đếm số lượng các giá trị phân biệt có trong mảng
int demchusokhacnhau(int a[],int n){
int dem = 1;
bool flag = false;
for(int i = 0;i<n;i++){
for( int j = i + 1;j < n ;j++){
flag = false;
if(a[i]==a[j]){
flag = true;
break;
}
if(!flag && j==n-1){
dem ++;
}
}
break;
}
return dem ;
}Tag: C, C++, mảng 1 chiều, mảng một chiều, array, one dimension array
More about →
Người đăng:
vuivengay
Cho mảng một chiều các số nguyên. Viết hàm tìm số chẵn lớn nhất nhỏ hơn mọi giá trị lẻ có trong mảng.
int timsochanlonnhat(int a[],int n){
int minle = 2147483647; // số nguyên lẻ lớn nhất
int maxchan = -2147483648; // số nguyên chẵn nhỏ nhất
for(int i = 0;i < n; i++){
if(a[i]%2==0) {
if(maxchan < a[i] && minle > a[i] ){
maxchan = a[i];
}
}else{
if(minle > a[i]){
minle = a[i];
}
}
}
return maxchan;
}Tag: C, C++, mảng 1 chiều, mảng một chiều, array, one dimension array
More about →
Người đăng:
vuivengay
Cho mảng một chiều các số nguyên. Viết hàm tìm chữ số xuất hiện nhiều nhất trong mảng.
int timchuso(int a[],int n){
int temp[100];
int max = 0;
int number = a[0];
// Khởi tạo giá trị 0 cho mảng
for(int j = 0;j<100;j++){
temp[j]=0;
}
//Tìm chữ số xuất hiện
for(int i = 0 ; i < n ; i++){
temp[a[i]]=temp[a[i]] + 1;
if(max < temp[a[i]]){
max = temp[a[i]];
number = a[i];
}
}
printf("%d\n",max);
return number;
}Tag: C, C++, mảng 1 chiều, mảng một chiều, array, one dimension array
More about →
Người đăng:
vuivengay on Thứ Sáu, 21 tháng 2, 2014
Tự động tạo mật khẩu ngẫu nhiên - PHP Password GeneratingPHP Code:<?phpfunction genPwd($length=6) { $password = ''; $possible = '23456789bcdfghjkmnpqrstvwxyz'; $i = 0; while ($i < $length) { $password .= substr($possible, mt_rand(0, strlen($possible)-1), 1); $i++; } return $password;}?>Cách sử dụng:Cóp và dán đoạn mã trên vào trang của bạn, sau đó gọi hàm genPwd() như sau:<?php $password = genPwd(8);?>Kết quả:Đoạn mã trên cho phép tự động tạo mật khẩu ngẫu nhiên có độ dài bất kỳ được tổ hợp từ các ký tự xác định trước.Mật khẩu ngẫu nhiên được sinh ra có độ dài 8 ký tự: m1ztpxw8Chú ý:Nếu không có độ dài ký tự trong hàm genPwd() thì mặc định sẽ chọn độ dài mật khẩu là 6. Biến $possible trong hàm genPwd() có thể được chỉnh sửa để quy định các ký tự xác định được sử dụng.
Tag: PHP, Password Generating, tự tạo mật khẩu, an toàn thông tin
More about →
Người đăng:
vuivengay
PHP Code:class mysql{var $property = array( 'hostname' => 'localhost', 'database' => '', 'username' => '', 'password' => '',);function mysql($info){foreach($this->property as $k => $v){$this->property[$k]=$info[$k];}}function connect(){$flag = @mysql_pconnect($this->property['hostname'],$this->property['username'],$this->property['password']);if(!$flag) die("can not connect to server. may be server bussy");$flag= @mysql_select_db($this->property['database'],$flag);if(!$flag) die("can not select database now");}}Lưu vào trong 1 file ví dụ “global.php”;Để dễ dàng khi kết nối bạn viết thêm 1 file init.php file này có chứ năng tạo các thông tin cấu hình cơ bản như kết nối mysql, lấy thông tin thành viên …ví dụPHP Code:<?php$dbinfo = array('hostname' => 'localhost','database' => 'databasename','username' => 'root','password' => 'root',);include("includes/global.php");$db = new mysql($dbinfo);$db->connect();?>Như vậy file nào cần kết nối database bạn chỉ cần inlclude file init.php vào là ok;PHP Code:include("init.php");
Tag: PHP, MySQL, Apache, Database, Connection, dbinfo
More about →
Người đăng:
vuivengay
Các hàm PHP xử lý chuỗi
1: addcslashes :Trích dẫn chuỗi kí tự với những vạch chéo trong kiểu C- Cấu trúc :addcslashes(string with special characters);
2: addslashes :Trích dẫn chuỗi kí tự với những vạch chéo- Cấu trúc : addcslashes(a string with special characters);
3: bin2hex :Chuyển đổi dữ liệu dạng nhị phân sang dạng biểu diễn hệ hexa- Cấu trúc :bin2hex(string);
4: chop :Tách bỏ nhưng khoảng trắng từ cuối một chuỗi
5: chr : Cho một kí tự đặc biệt trong bảng mã- Cấu trúc : chr(numeric);
6: chuck split : Tách một chuỗi thành các chuỗi nhỏ hơn
7: convert cyr string :Chuyển đổi từ một kí tự kirin sang một kí tự khác
8: count_chart : Cho thông tin về các kí tự dùng trong chuỗi
9: crc32 : Tính toán sự thừa vòng đa thức của một chuỗiTự động tạo ra chu ki kiểm tra tổng thừa của đa thức dài 32bit trong một chuỗi
10: crypt :Một cách mã hóa một chuỗi
11: echo : In ra một hay nhiều chuỗi
12: explode :Tách một chuỗi ra bởi chuỗi kí tự
13: fprintf :Viết một định dạng chuỗi ra một dòng
14: get html translation table :Cho ra bảng dịch bằng cách sử dung các thủ tục
html entity decode :
15: hebrev :Chuyển đổi văn ban logic khó hiểu sang văn ban trưc quan
16: hebrevc :Chuyển đổi văn ban logic khó hiểu sang văn ban trưc quan với sự chuyển đổi dòng mới
17: html entity decode :Chuyển đổi tấtcả cácthực thể HTML sang những kí tự có thể dùng được của chúng
18: htmlentities :Đổi tất cả các kí tự được sử dung sang các thực thể HTML
19: htmlspecialchars :Đổi những kí tự đặc biệt sang các thực thể của HTML
20: implode :Nối các phần tử của mảng với một chuỗi
21: join :Hàm này là một bí danh của hàm implode
22: levenshtein :Tính khoảng cách giữa hai chuỗi
23: localeconv :Lấy ra thông tin quy cách số
24: lstrim-- Strip whitespace from the beginning of a stringXoá khoảng trắng từ phần tử đầu tiên của chuỗi
25: md5_file-- Calculates the md5 hash of a given filenameMã hoá md5 tên file
26: md5 -- Calculate the md5 hash of a stringMã hoá md5 1 chuỗi
27: metaphone -- Calculate the metaphone key of a stringTính siêu khoá âm thanh của 1 chuỗi
28: money_format -- Formats a number as a currency stringĐịnh dạng 1 số như 1 chuỗi tiền tệ
29: nl_langinfo -- Query language and locale informationNgôn ngữ truy vấn và biên tập thông tin
30: nl2br -- Inserts HTML line breaks before all newlines in a stringChèn 1 dòng ngắt HTML trước tất cả những dòng mới trong 1 chuỗi
31: number_format -- Format a number with grouped thousandsĐịnh dạng 1 số với hàng nghìn chữ số
32: ord -- Return ASCII value of characterTrả lại giá trị ASCII của kí tự
33: parse_str -- Parses the string into variablesPhân tách chuỗi thành các biến số
34: print -- Output a stringIn ra 1 chuỗi
35: printf -- Output a formatted stringIn ra 1 chuỗi được định dạng
36: quoted_printable_decode -- Convert a quoted-printable string to an 8 bit stringChuyển 1 chuỗi có thể in trích dẫn sang 1 chuỗi 8 bit.(Giải mã)
37: quotemeta -- Quote meta charactersTrích dẫn kí tự đặc biệt
38: rtrim -- Strip whitespace from the end of a stringXoá khoảng trắng từ phần tử cuối cùng của chuỗi
39: setlocale -- Set locale informationThiết lập vị trí thông tin
40: sha1_file -- Calculate the sha1 hash of a fileMã hoá sha1 1 file
41: sha1 -- Calculate the sha1 hash of a stringMã hoá sha1 1 chuỗi
42: similar_text -- Calculate the similarity between two stringsCho số kí tự giống nhau của 2 chuỗi
43: soundex -- Calculate the soundex key of a stringTính khoá chỉ âm của 1 chuỗi
44: sprintf -- Return a formatted stringTrả lại 1 chuỗi được định dạng
45: sscanf -- Parses input from a string according to a formatPhân tách chuỗi theo 1 định dạng
46: str_ireplace -- Case-insensitive version of str_replace().Tương tự str_ replace().
47: sscanf -- Parses input from a string according to a formatPhân tích từ loại nhập vao từ một chuỗi theo một định dạng
48: str_ireplace -- Case-insensitive version of str_replace().->Thay thế ngược lại khi chuỗi đã bị thay thế bằng str_replace()
49: str_pad -- Pad a string to a certain length with another stringCo một chuỗi tới một độ dài nào đó với một chuỗi khác
50: str_repeat -- Repeat a stringLặp lại một chuỗi
51: str_replace -- Replace all occurrences of the search string with the replacement stringThay thế tất cả các biến cố của chuỗi tìm kiếm với một chuỗi thay thế
52: str_rot13 --Perform the rot13 transform on a stringThực hiện mã hoá theo rot 13 trên 1 chuỗi
(Rot-13 :Trong các nhóm tin của mạng USENET, đây là một kỹ thuật mật mã hoá đơn giản, nó làm dịch từng ký tự đi 13 vị trí trong bảng chữ cái (cho nên e sẽ thành r). Mật mã rot- 13 được dùng cho mọi thông báo tin bất kỳ nào có thể làm mất sự thú vị của một người nào đó (như) cách giải cho một trò chơi chẳng hạn hoặc xúc phạm một số người đọc (như) bài thơ về tình dục chẳng hạn. Nếu người đọc cho giải mã thông báo tin này bằng cách phát ra một lệnh thích hợp, thì người đọc đó - chứ không phải tác giả của thông báo - sẽ phải chịu trách nhiệm đối với sự khó chịu do việc đọc thông báo gây ra.)
53: str_shuffle --Randomly shuffles a stringThay đổi một chuỗi bằng cách xê dịch ngẫu nhiên
54: str_split -- Convert a string to an arrayĐổi một chuỗi thành một mảng
55: str_word_count -- Return information about words used in a stringTrả lại thông tin về những từ đã sử dụng trong một chuỗi
56: strcasecmp -- Binary safe case-insensitive string comparisonSo sánh chuỗi theo …case-insensitive.. nhị phân
57: strchr --Alias of strstr()Bí danh của strstr()
58: strcmp --Binary safe string comparisonSự so sánh chuỗi bằng cơ sở nhị phân
59: strcoll --Locale based string comparisonNơi diễn ra sự so sánh cơ sở
60: strcspn -- Find length of initial segment not matching maskTìm độ dài của đoạn đầu tiên mà không tìm thấy trên bề mặt của chuỗi này đối với chuỗi kia.
61: strip_tags --Strip HTML and PHP tags from a stringLoại bỏ các thẻ HTML và PHP từ một chuỗi
62: stripcslashes -- Un-quote string quoted with addcslashes()Loại bỏ các dấu slashe trong chuỗi do hàm addcslashes() tạo ra.
63: stripos -- Find position of first occurrence of a case-insensitive stringTìm ra vị trí đầu tiên của chuỗi này trong chuỗi kia của trường hợp sử lý cặp chuỗi.
64: stripslashes -- Un-quote string quoted with addslashes()Loại bỏ hàm addslashes(), hay nói cách khác, hàm này trả về giá trị ban đầu của chuỗi khi chuỗi bị hàm addslashes() chèn các dấu slashe ở các ký tự đặc biệt
65: stristr -- Case-insensitive strstr()Loại bỏ hàm strstr() khi trong chuỗi có dấu chấm.
66: strlen --Get string lengthLấy độ dài của chuỗi
67: strnatcasecmp -- Case insensitive string comparisons using a "natural order" algorithmSo sánh chuỗi theo thứ tự abc, các ký tự được xét từ đầu đến cuối chuỗi(VD: a2>a12>a11).
68: strnatcmp -- String comparisons using a "natural order" algorithmSo sánh chuỗi sử dụng thứ tự abc và thứ tự toán học, nhưng được tính trên toàn bộ chuỗi ( VD: a12 > a11>a2).
69: strncasecmp -- Binary safe case-insensitive string comparison of the first n charactersLà một hàm giống như strcasecmp(), khác ở chỗ hàm này có thể chỉ rõ số ký tự trong mỗi chuỗi đem so sánh.70: strncmp: trả ra giá trị mà chuỗi1 dài hơn so với sâu hai.
71: strpos: Tìm vì trí xuất hiện đầu tiên của một chuỗi này trong chuỗi khác.
72: strrchr: Tìm kiếm vị trí xuất hiện cuối cùng của một kí tự trong chuỗi.
73: strrev: Đảo ngược một chuỗi.
74: strripos: Tìm vị trí cuối cùng của chuỗi này khiến nó khác một chuỗi cho trước.
75: strrpos: Tìm vị trí lần xuất hiện cuối cùng cùng của một kí tự trong một chuỗi.
76: strspn: Tính xem độ dài đoạn đầu của một chuỗi mà chứa toàn các kí tự thuộc chuỗi khác.
77: strstr: Lấy ra một đoạn của chuỗi từ vị trí xuất hiện kí tự cho trước.
78: strtok: chia cắt chuỗi.
79: strtolower: biến kí tự chữ hoa thành chữ thường.
80: strtoupper: biến kí tự chữ thường thành chữ hoa.
81: strtr: chuyển đổi kí tự theo một qui tắc nào đó.
82: substr_compare: không có thông tin.
83: substr_count: Tính số lần xuất hiện của một chuỗi này trong một chuỗi khác.
84: substr_replace: thay thế một đoạn văn bản trong phạm vi một đoạn của chuỗi kí tự.
85: substr: trả ra một phần của chuỗi.
86: trim: Loại bỏ kí tự thừa(whitespace)ở đầu và cuối mỗi chuỗi.
87: ucfirst: viết hoa kí tự đầu tiên của một chuỗi.
88: ucwords: viết hoa kí tự đầu tiên của mỗi từ.
89: vprints: xuất ra một chuỗi được định dạng
90: vsprint: quai lại một chuỗi định dạng.
91: wordswarp: chia chuỗi kí tự ra thành các sâu con nhờ một kí tự xác định.
More about →
Người đăng:
vuivengay on Thứ Năm, 20 tháng 2, 2014
Câu lệnh truy vấn trong SQL Server 2005 (Select Command)
Các lệnh và các mệnh đề cơ bản trong SQL Server 2005Lệnh SELECT
SELECT là một lệnh truy vấn dữ liệu cơ bản trong SQL. Có rất nhiều mệnh đề con tuỳ chọn trong câu lệnh SELECT.
Cấu trúc SELECT – FROM – WHERECú pháp:SELECT <Danh sách các cột> FROM <Danh sách bảng> WHERE <Điều kiện>;Trong đó:+ <Danh sách các cột>: Là danh sách các cột hoặc biểu thức của các cột được đưa vào kết quả truy vấn.+ <Danh sách bảng>: Là danh sách các bảng mà từ đó các cột được lấy ra+ <Điều kiện>: Là một biểu thức logic xác định các bản ghi thoả mãn điều kiện của câu lệnh.Ví dụ 1: Hiển thị tên, tuổi của bảng sinh viên:SELECT Ten, Tuoi FROM tblsinhvien;
Ví dụ 2: Hiển thị tên, học lực của những sinh viên có học lực >=7 trong bảng sinh viên:SELECT Ten, HocLucFROM tblsinhvienWHERE HocLuc>=7;
Truy vấn sử dụng các hàm MAX, MIN, AVG, SUM, COUNT
Hàm MAXChức năng: Cho giá trị lớn nhất trong cộtVí dụ 3: Hiển thị học lực cao nhất trong danh sách sinhvienSELECT Max(HocLuc) AS DiemCaoNhatFROM tblsinhvien;Hàm MINChức năng: Cho giá trị nhỏ nhất trong cộtVí dụ 4: Hiển thị học lực nhỏ nhất trong danh sách sinhvienSELECT Min(HocLuc) AS DiemThapNhatFROM tblsinhvien;
Hàm AVGChức năng: Cho giá trị tung bình cộng trong cộtVí dụ 5: Hiển thị học lực trung bình của cột học lực trong danh sách sinhvienSELECT AVG(HocLuc) AS DiemTBFROM tblsinhvien;
Hàm SUMChức năng: Cho tổng giá trị trong cộtVí dụ 6: Hiển thị tổng học lực của cột học lực trong danh sách sinhvienSELECT SUM(HocLuc) TongHLFROM tblsinhvien;
Hàm COUNTChức năng: Cho biết số phần tử ( hàng) trong cộtVí dụ 7: Đếm số bản ghi (hàng) của cột học lực trong danh sách sinhvienSELECT COUNT(HocLuc) AS SoSinhVienFROM tblsinhvien;
Truy vấn sử dụng các phép AND, OR, IN, BETWEEN, NOT, ALL- AND: Phép và logic- OR: Phép hoặc logic- IN: Là phần tử của…- BETWEEN: Là phần tử giứa các phần tử …- NOT: Phép phủ định- ALL: Là tất cả những phần tử …Ví dụ 8: Đưa ra danh sách những sinh viên có điểm >= 8.5 và có quê = “Hải Phòng”SELECT *FROM tblsinhvienWHERE (diem>=8.5) AND ( que = “Hải Phòng’);Ví dụ 9: Đưa ra danh sách những sinh viên có quê = “Nam Định” hoặc “Thanh Hóa”SELECT *FROM tblsinhvienWHERE (que = “Nam Định”) OR (que = “Thanh Hóa”);Ví dụ 10: Đưa ra danh sách những nhân viên có kết quả là 8, 9, 10SELECT *FROM tblDiemWHERE KetQua IN (8, 9, 10);Ví dụ 11: Đưa ra danh sách những sinh viên có kết quả nằm trong khoảng [5,7]SELECT *FROM tblDiemWHERE KetQua BETWEEN 5 and 7;Ví dụ 12: Đưa ra danh sách những sinh viên có quê không phải là “Hải Dương”SELECT *FROM tblsinhvienWHERE que NOT(SELECT que FROM tblsinhvienWHERE (que = ”Hải Dương”));Ví dụ 13: Hiển thị tất cả kết quả của sinh viênSELECT ALL KetQuaFROM tblDiem;
Truy vấn thay đổi tên cột, tên bảng và hiển thị các cột từ nhiều bảng khác nhau,
- Muốn hiển thị các cột từ nhiều bảng khác nhau thì trong câu lệnh SELECT chúng ta phải làm như sau:SELECT < Danh sách Tên_bang.Tên_cột>FROM <Danh sách Tên_bảng>WHERE <Điều kiện nối bảng>;- Có thể đặt tên các cột trong kết quả các truy vấn bằng cách đặt tên mới vào sau cột được chọn ngăn cách bởi từ khoá AS, tương tự ta có thể đặt tên mới cho các bảngVí dụ 14: Hiển thị danh sách sinh viên bao gồm tên, kết quả từ bảng tblsinhviên và bảng tbldiem:SELECT tblsinhvien.Ten AS Ten, tblDiem.KetQua AS KQFROM tblsinhvien AS sv, tblDiem AS sdWHERE (sv.MaSV = sd.MaSV);
Truy vấn sử dụng lượng từ DISTINCT/ ALL
* Để tránh tình trạng đưa ra các bộ (hàng/bản ghi) trùng lặp trong các kết quả truy vấn thì SQL có lượng từ DISTINCT.Ví dụ 15: Hiển thị các mã đề tài được sinh viên đăng ký trong bảng đề tàiSELECT DISTINCT MaDT FROM tblsinhvien;
* Để hiển thị tất cả các hàng (lấy cả các hàng có giá trị trùng nhau ) ta dùng lượng từ ALLVí dụ 16: Hiển thị tất cả các MaDT mà bảng sv_dtai cóSELECT ALL MaDTFROM tblDiem;
Chú ý: Ngầm định (nếu không viết Distinct/All) thì máy hiểu là All
Truy vấn sử dụng mệnh đề GROUP BY
- Để hiển thị các bản ghi theo nhóm ta dùng mệnh đề GROUP BYVí dụ 17: Hiển thị bảng đề tài theo nhóm mã đề tàiSELECT MaDTFROM tbldetaiGROUP BY MaDT;
Truy vấn có sử dụng mệnh đề HAVING
- Mệnh đề HAVING thường được sử dụng cùng mệnh đề GROUP BY. Sau HAVING là biểu thức điều kiện. Biểu thức điều kiện này không tác động vào toàn bảng được chỉ ra ở mệnh đề FROM mà chỉ tác động lần lượt từng nhóm các bản ghi đã chỉ ra tại mệnh đề GROUP BY.Ví dụ 18: Đếm xem có bao nhiêu đề tài đã được sinh viên đăng ký tham giaSELECT MaDTFROM tbldetaiGROUP BY MaDTHAVING COUNT(*);
Truy vấn có sử dụng mệnh đề ORDER BY
- Mệnh đề ORDER BY được dùng để sắp xếp dữ liệu trong bảng theo chiều tăng hoặc giảm (ASC hoặc DESC) của một cột nào đó.- Mệnh đề ORDER BY nếu đứng sau GROUP BY thì miền tác động của sắp xếp là trong từng nhóm của cột được chỉ ra trong GROUP BY.Ví dụ 19: Sắp xếp bảng sinhvien theo chiều giảm dần của cột học lựcSELECT *FROM tblsinhvienORDER BY hl DESC;
Truy vấn lồng nhauTrong lệnh SELECT có thể được lồng nhiều mứcVí dụ 20: Hiển thị sinh viên có học lực cao nhấtSELECT *FROM tblsinhvienWHERE hl = (SELECT MAX (hl) FROM tblsinhvien);
Ví dụ 21: Hiển thị hođệm, tên của những sinh viên có kết quả >= 8 và có tên đề tài là PascalSELECT hodem,tenFROM tblsinhvienWHERE MaSV IN (SELECT MaSVFROM tblDiemWHERE (kq >= 8) AND( MaDT IN ( SELECT MaDT FROM tbldetaiWHERE tendt = “Pascal”)));Tag: SQL Server, T-SQL, SQL Server 2005, Select Command, Truy vấn sql
More about →