Một số ví dụ minh họa

Một phần của tài liệu Tài liệu học tập môn Tin cơ sở: Phần 2 - Phùng Thị Thu Hiền (Trang 31 - 35)

Ví dụ 7.2: Cho một mảng A gồm 100 phần tử thuộc kiểu thực, hãy viết chương trình nhập mảng và sắp xếp mảng theo thứ tự tăng dần của dãy số.

#include <iostream> #include<iomanip> using namespace std; int main () { float a[100], i, j, n, tg;

124 cout << "Cho biết số phần tử n = " ; cin >> n ; cout << "Cho biết số phần tử n = " ; cin >> n ;

for (i=0; i<n; i++) {cout<<"a[" <<i<< "] = "; cin >> a[i] ;} // nhập dữ liệu for (i=0; i<n; i++)

{

for (j=i+1; j<n; j++)

if (a[i] > a[j]) { tg = a[i]; a[i] = a[j]; a[j] = tg; } // đổi chỗ }

for (i=0; i<n; i++)

cout << a[i] ; // in kết quả return 0;

}

Ví dụ 7.3: Cho một mảng B gồm 100 phần tử thuộc kiểu thực, hãy viết chương trình nhập mảng và tìm phần tử có giá trị nhỏ nhất trong mảng. In ra phần tử này và vị trí của nó trong mảng. #include <iostream> #include<iomanip> using namespace std; int main () { float B[100], i, n, min, vt;

cout << "Nhập số phần tử của dãy: " ; cin >> n; for (i=0; i<n; i++)

{

cout << "B[" << i << "] = " ; cin >> B[i]; }

min = B[0]; vt = 0; for (i=1; i<n; i++) if (B[i] < min )

{

min = B[i]; vt = i; }

125 } }

Ví dụ 7.4: Cho một mảng a gồm 50 phần tử thuộc kiểu thực, hãy viết chương trình nhập mảng và đếm số phần tử dương trong mảng. # include <iostream> # include<iomanip> using namespace std; int main () {

float a[50]; int i, n, dem;

cout << "Nhap so phan tu cua mang: " ; cin >> n; for (i=0; i<n; i++)

{

cout << "a[" << i << "] = " ; cin >> a[i]; }

dem = 0 ;

for (i=0; i<n; i++) if (a[i]>0) dem++;

cout << "Day da nhap la:" << endl; for (i=0; i<n; i++)

cout << a[i] << " ";

cout << "So phan tu duong trong mang la " << dem << endl; return 0;

}

7.1.2. Mảng hai chiều a. Khái niệm a. Khái niệm

C++ đưa ra kiểu dữ liệu mảng hai chiều để biểu diễn các loại dữ liệu phức tạp như ma trận hoặc các bảng biểu có nhiều tiêu chí, hoặc các tọa độ 2 chiều.

Mảng 2 chiều m dòng n cột được xem như là một bảng hình chữ nhật chứa m*n phần tử cùng kiểu dữ liệu (còn gọi là ma trận m*n). Nó là sự mở rộng trực tiếp của mảng 1 chiều. Nói cách khác, mảng 2 chiều là mảng 1 chiều mà mỗi phần tử của nó là một mảng 1 chiều.

126

b. Khai báo

<tên kiểu> <tên mảng> [<số dòng>] [<số cột>];

- <tên kiểu> là kiểu dữ liệu của các thành phần, các thành phần này có kiểu giống nhau.

- <tên mảng> tuân theo qui tắc đặt tên biến.

Trong khai báo cũng có thể được khởi tạo bằng dãy các dòng giá trị, các dòng cách nhau bởi dấu phẩy, mỗi dòng được bao bởi cặp ngoặc {} và toàn bộ giá trị khởi tạo nằm trong cặp dấu {}.

Ví dụ 7.4:

//Khai báo mảng 2 chiều gồm 6 phần tử thuộc kiểu nguyên (2 dòng 3 cột).

int A[2][3];

//Khai báo mảng 2 chiều và khởi tạo giá trị ban đầu cho các phần tử của mảng.

int B[2][3] = {3,5,6,2,4,1};

//Khai báo mảng 2 chiều và khởi tạo giá trị ban đầu cho các phần tử của mảng 2 chiều.

int C[2][3] = {{3,5,6},{2,4,1}};

//Khai báo mảng và khởi tạo mảng 2 chiều với tất cả các phần tử có giá trị bằng 0.

int D[2][3] = {0};

//Khai báo 2 ma trận 4 hàng 5 cột A, B chứa các số nguyên.

int A[3][4], B[3][4];

// Khai báo mảng 2 chiều có 4*5 phần tử là số thực.

float m[4][5];

Trong trường hợp này, ta đã khai báo cho một ma trận có tối đa là 4 dòng, mỗi dòng có tối đa là 5 cột. Dòng\Cột 0 1 2 3 4 0 m[0][0] m[0][1] m[0][2] m[0][3] m[0][4] 1 m[1][0] m[1][1] m[1][2] m[1][3] m[1][4] 2 m[2][0] m[2][1] m[2][2] m[2][3] m[2][4] 3 m[3][0] m[3][1] m[3][2] m[3][3] m[3][4]

127

Một phần của tài liệu Tài liệu học tập môn Tin cơ sở: Phần 2 - Phùng Thị Thu Hiền (Trang 31 - 35)