Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh

 Mảng là một tập hợp các biến có cùng kiểu dữ liệu nằm liên tiếp nhau trong bộ nhớ và được tham chiếu bởi một tên chung chính là tên mảng.

 Mỗi phần tử của mảng được tham chiếu thông qua chỉ mục (index).

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 1

Trang 1

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 2

Trang 2

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 3

Trang 3

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 4

Trang 4

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 5

Trang 5

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 6

Trang 6

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 7

Trang 7

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 8

Trang 8

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 9

Trang 9

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 21 trang Danh Thịnh 09/01/2024 1060
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh

Bài giảng Lập trình - Bài 4: Mảng - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh
Trường ĐH Khoa Học Tự Nhiên Tp. Hồ Chí Minh
TRUNG TÂM TIN HỌC
2015
Nhập môn lập trình
Bài 4- Mảng
Nhập môn lập trình 2
Mục tiêu
- Hiểu và cài đặt được mảng
- Thao tác được trên mảng
5 2 9 7 6 0 8
M[0] M[1] M[3] M[5]M[2] M[4] M[6]
Nhập môn lập trình 3
1. Khái niệm
 Mảng là một tập hợp các biến có cùng kiểu dữ
liệu nằm liên tiếp nhau trong bộ nhớ và được
tham chiếu bởi một tên chung chính là tên
mảng.
 Mỗi phần tử của mảng được tham chiếu thông
qua chỉ mục (index).
Nhập môn lập trình 4
1. Khái niệm
 Nếu mảng có n phần tử thì phần tử đầu tiên có
chỉ mục là 0 và phần tử cuối có chỉ mục là n-1.
 Để tham chiếu đến một phần tử ta dùng tên
mảng và chỉ mục của phần tử được đặt trong
cặp dấu [].
Ví dụ: a[0]
 Số phần tử trong mảng được gọi là kích thước
của mảng. luôn cố định, phải được xác định
trước và không đổi trong suốt quá trình thực
hiện chương trình.
Nhập môn lập trình 5
2. Mảng một chiều
Khai báo một mảng một chiều 
 Cú pháp: 
type arrayName[elements]; 
− type: kiểu dữ liệu của mỗi phần tử mảng. 
− elements: số phần tử có trong mảng 
− arrayName: tên mảng 
● Ví dụ: int a[5]
a
a[0] a[1] a[2] a[3] a[4]
Nhập môn lập trình 6
2. Mảng một chiều
 Mảng phải được khai báo tường minh 
 Kích thước (tính bằng byte) của mảng được 
tính theo công thức: 
Total_size = sizeof(type) * elements
Ví dụ:
int num[100]; 
Mảng num có kích thước là:
2bytes * 100 = 200bytes (giả sử int chiếm 2 
bytes) 
Nhập môn lập trình 7
2. Mảng một chiều
 Mổi phần tử mảng là một biến thông thường. 
Ví dụ:
int num[3];
num[0] = 2; //gán 2 cho phần tử num[0] 
num[1] = num[0] + 3 //num[1] có giá trị 5 
num[2] = num[0] + num[1]; //num[2] có giá trị 7 
cout << num[1]; //In ra giá trị 5
Nhập môn lập trình 8
2. Mảng một chiều
Khai báo và khởi tạo mảng một chiều 
 Cú pháp: 
type arrayName[]= {value1, value2, ..., 
valuen};
 Lưu ý: 
− Không khai báo kích thước mảng. 
− Số lượng phần tử trong mảng là số các giá trị
được cung cấp trong cặp dấu ngoặc {}, được
phân cách nhau bởi dấu phẩy.
Nhập môn lập trình 9
2. Mảng một chiều
 Ví dụ:
int soChan[] = {2,4,6,8,10}; 
Mảng soChan có 5 phần tử lần lượt là: 
soChan[0] có giá trị là 2 
soChan[1] có giá trị là 4 
... 
soChan[4] có giá trị là 10
Nhập môn lập trình 10
2. Mảng một chiều
Ví dụ: Tạo một mảng nguyên a có N phần tử. Mỗi phần tử có
giá trị là chỉ mục của nó. In mảng ra màn hình.
#include 
#include 
#define N 10 
void main() 
{ 
int a[N]; 
for(int i=0 ; i < N ; i++) 
a[i] = i ; 
cout<< "In mang:\n"; 
for(int i=0 ; i < N ; i++) 
cout << “a[“ << i <<”] = ” << a[i] << 
endl; 
} 
Nhập môn lập trình 11
Ví dụ : Nhập vào một mảng số nguyên sau đó sắp xếp 
theo thứ tự tăng dần 
#include 
#define n 5
int main ( )
{
int a [ n ] ; int i , j, t ;
for ( i = 0 ; i < n ; i ++)//nhập mảng
{ cout>a[i]; cout<<endl; }
for ( i = 0 ; i < n - 1 ; i ++)//sắp xếp 
for ( j = i + 1 ; j < n ; j ++ )
if ( a [ i ] >a [j ] )
{ t = a [ i ] ; a [ i ] = a [ j ]; a [j ] = t ; }
for ( i = 0 ; i < n ; i ++ )//xuất mảng
cout<<setw(3)<<a[i];
getch ( );
}
Nhập môn lập trình 12
Ví dụ: Đổi một số nguyên dương thập phân thành 
số nhị phân 
void main()
{
int i,j=0, n, np[20];
cout>n;
do
{
np[j]= n%2;
j++;
n = n/2;
}while(n>0);
cout<<“dang nhi phan: ”;
for(i=j-1 ; i>0 ; i--)
cout<<setw(3)<<np[i];
getch();
}
n=46 2
1
0 2
2
5
23
111
1
2
2
1 2
10
2
0
np
n%2
np[j]
0 1 1 1 0 1
Nhập môn lập trình 13
Sử dụng hàm tạo số ngẫu nhiên
 C++ cung cấp hàm random để tạo ra các số 
ngẫu nhiên.
 Cú pháp:
int random(int n)
 Kết quả của hàm là tạo ra các số nguyên ngẫu 
nhiên từ 0 đến n-1
 Khi sử dụng random ta phải gọi randomize để 
khởi tạo chế độ tạo số ngẫu nhiên.
 Để sử dụng các hàm trên thì trong chương trình 
phải khai báo thư viện 
Nhập môn lập trình 14
Ví dụ: tạo mảng ngẫu nhiên và in ra màn hình.
#include 
#include 
#include 
#include 
void main()
{
randomize();
cout <<"Tao mang ngẫu nhiên :\n";
for (int i=0; i<n; i++)
a[i]=random(100);
for(int j=0; j<n; j++)
cout <<setw(3)<<a[j];
}
Nhập môn lập trình 15
3. Mảng nhiều chiều
1. C/C++ hỗ trợ mảng nhiều chiều. Dạng đơn giản
nhất của mảng nhiều chiều là mảng hai chiều.
2. Mảng hai chiều thực chất là mảng của những
mảng một chiều. Ta có thể xem mảng hai chiều
là một ma trận gồm các hàng và các cột
Nhập môn lập trình 16
3. Mảng nhiều chiều
Khai báo mảng hai chiều
type arrayName[rows][columns];
− rows: số hàng
− columns: số cột
Ví dụ: Khai báo mảng số nguyên 3 hàng 4 cột
int a[3][4]
Nhập môn lập trình 17
3. Mảng nhiều chiều
1. Khai báo và khởi tạo mảng hai chiều
2. Cú pháp:
type arrayName[][columns] = { 
{value1,value2,...,valueN},
{value1,value2,...,valueN},
{...},
{value1,value2,...,valueN}};
Nhập môn lập trình 18
3. Mảng nhiều chiều
 Số phần tử của mỗi hàng phải bằng số cột
 Số hàng của khai báo mảng hai chiều để trống.
 Số hàng của mảng được xác định dựa vào số
hàng trong phần khởi tạo. Giá trị các phần tử
trong mỗi hàng được đặt trong cặp {}, các hàng
phân cách nhau bằng một dấu phẩy.
 Ví dụ:
int a[][4] = {{1,2,3,4}, {5,6,7,8},{9,10,11,12}};
Nhập môn lập trình 19
#include 
#include 
void main() 
{ int a[4][3];
srand(time(NULL));
for(int i=0 ; i<4 ; i++)
for(int j=0 ; j<3 ; j++)
a[i][j] = rand()%10;
for(int i=0 ; i<4 ; i++)
{
for(int j=0 ; j<3 ; j++)
cout << a[i][j] << " ";
cout << endl;
}
} 
Nhập môn lập trình 20
#include 
#include 
void main() 
{ 
int a[][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},
{13,14,15,16}};
int sum=0;
for(int i=0 ; i<4 ; i++)
for(int j=0 ; j<4 ; j++)
if(i==j)
sum += a[i][j];
cout << “Tong duong cheo chinh la: ” << sum;
} 
Nhập môn lập trình 21
Thảo luận

File đính kèm:

  • pdfbai_giang_lap_trinh_bai_4_mang_truong_dai_hoc_khoa_hoc_tu_nh.pdf