Xin chào!
Hôm nay Hocweb.com.vn tiếp tục bài về mảng một chiều trong PHP với
hướng dẫn tạo mảng một chiều ngẫu nhiên, tìm max, min trong mảng một
chiều vừa tạo.
TRANG HTML
Đầu tiên chúng ta sẽ viết trang HTML để hiển thị form của chúng ta
<!DOCTYPE html>
<html>
<head>
<title>PHÁT SINH MẢNG VÀ TÍNH
TOÁN</title>
<meta charset="utf-8">
<style>
*{
font-family: Tahoma;
}
table{
width: 400px;
margin: 100px auto;
}
table th{
background: #66CCFF;
padding: 10px;
font-size: 18px;
}
</style>
</head>
<body>
<form action="mang-2.php"
method="POST">
<table>
<thead>
<tr>
<th
colspan="2">PHÁT SINH MẢNG VÀ TÍNH TOÁN</th>
</tr>
</thead>
<tbody>
<tr>
<td>Nhập
số phần tử:</td>
<td><input
type="text" name="so_phan_tu" width="100%"
></td>
</tr>
<tr>
<td></td>
<td><input
type="submit" value="Phát sinh và tính
toán"></td>
</tr>
<tr>
<td>Mảng:
</td>
<td><input
type="text" name="mang_so" disabled="disabled"
value="<?php xuat_mang($mang_so); ?>"></td>
</tr>
<tr>
<td>GTLN
( MAX ) trong mảng: </td>
<td><input
type="text" name="gtln" disabled="disabled"
value="<?php tim_max($mang_so); ?>"></td>
</tr>
<tr>
<td>GTNN
( MIN ) trong mảng: </td>
<td><input
type="text" name="ttnn" disabled="disabled"
value="<?php tim_min($mang_so); ?>"></td>
</tr>
<tr>
<td>Tổng
mảng: </td>
<td><input
type="text" name="tong" disabled="disabled"
value="<?php tinh_tong($mang_so); ?>"></td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
|
|
|
Trong đoạn code trên, các thẻ <input> có thuộc tính
value=”<?php ?>” dùng để gọi các hàm mà chúng ta sắp viết để thực
hiện các chức năng như tạo mảng, tìm max min, v.v
Trang HTML hoàn thành
Trang HTML hoàn thành
LẬP TRÌNH PHP
Đầu tiên chúng ta cần khai báo một biến $mang_so là mảng một chiều.
Tiếp theo viết hàm tạo mảng ngẫu nhiên.
function tao_mang($n){
$mang_so = array();
for($i = 0; $i < $n; $i++){
$mang_so[$i] =
mt_rand(0,20);
}
return $mang_so;
}
|
|
|
Hàm mt_rand($start , $end) trả về một số ngẫu nhiên trong đoạn $start đến $end.
Chúng ta đã tạo mảng, bây giờ đến xuất mảng
function xuat_mang($mang_so){
echo implode(" ", $mang_so);
}
|
|
|
Hàm implode($glue, $piece) trả về kiểu string, dùng để nối các phần tử của mảng lại với nhau bằng $glue.
Các hàm tìm max min
function tim_min($mang_so){
if(isset($mang_so[0])){
$min = $mang_so[0];
$n = count($mang_so);
for($i = 1; $i < $n; $i++){
if($mang_so[$i]
< $min)
$min
= $mang_so[$i];
}
echo $min;
}
}
function tim_max($mang_so){
if(isset($mang_so[0])){
$max = $mang_so[0];
$n = count($mang_so);
for($i = 1; $i < $n;
$i++){
if($mang_so[$i]
> $max){
$max
= $mang_so[$i];
}
}
echo $max;
}
}
|
|
|
Hàm tìm min, đầu tiên chúng ta kiểm tra mảng đã được tạo chưa bằng
cách kiểm tra sự tồn tại của giá trị đầu tiên. Nếu có, chúng ta tạo một
biến $min và gán bằng giá trị đầu tiên, sau đó duyệt từ phần tử thứ $i=1
đến cuối mảng và lần lượt kiểm tra phần tử thứ $i nếu nhỏ hơn $min thì
gán $min bằng phần tử thứ $i.
Hàm max tương tự nhưng kiểm tra phần tử thứ $i có lớn hơn $max không.
Tính tổng các phần tử đã hướng dẫn ở phần 1.
function tinh_tong($mang_so){
$tong_so = 0;
$n = count($mang_so);
for($i = 0; $i < $n; $i++)
$tong_so += $mang_so[$i];
echo $tong_so;
}
|
|
|
CHẠY THỬ TRÊN LOCALHOST
Mở trình duyệt và chạy thử. Nhập 10 vào ô Nhập số phần tử và bấm nút Phát sinh và tính toán để xem kết quả.
Kết quả chạy thử
Chúc các bạn thành công.
Xem tiếp tại đây :
http://hocweb.com.vn/bai-5-tao-mang-ngau-nhien-tim-max-min/
----------------------------------------------------------------------------------------------------------------------------------------------------------
Nếu bạn thấy bài viết hữu ích, hãy nhấn +1 và các liên kết chia sẻ để
website ngày càng phát triển hơn. Xin cám ơn bạn!
Đăng nhận xét