1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng môn học Tin đại cương: Bài 7&8 - Lý Anh Tuấn

19 45 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 324,85 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng này trang bị cho người học những hiểu biết về cấu trúc mảng, điển hình là mảng một chiều và mảng hai chiều. Những nội dung chính trong bài này gồm có: Khai báo mảng, sử dụng mảng, một số bài toán, khai báo mảng hai chiều, sử dụng mảng hai chiều. Mời các bạn cùng tham khảo.

Trang 1

Môn học Tin đại cương

Lý Anh Tuấn

Bộ môn Khoa học máy tính, Khoa Công nghệ

thông tin, Trường đại học Thủy Lợi

Trang 2

Cấu trúc mảng

 Mảng một chiều

 Khai báo mảng

 Sử dụng mảng

 Một số bài toán

 Mảng hai chiều

 Khai báo mảng hai chiều

Sử dụng mảng hai chiều

Trang 3

Mảng

 Mảng là tập hữu hạn các phần tử có cùng kiểu dữ

liệu và chiếm một vùng liên tục trong bộ nhớ

 Vị trí tương đối giữa các phần tử trong mảng được xác định bởi chỉ số

 Ví dụ: Mảng a chứa 5 giá trị nguyên kiểu int có thể được biểu diễn như sau:

Trang 4

Khai báo mảng

 Khai báo mảng:

kiểu_dữ_liệu tên_mảng[số_phần_tử];

 Ví dụ:

 int a[5]; // khai báo mảng a gồm 5 phần tử số nguyên có chỉ số từ 0 đến 4

 double x[10],y[10]; //khai báo hai mảng thực x,y mỗi mảng gồm 10 phần tử có chỉ số từ 0 đến 9

Trang 5

Khai báo mảng

 Khi khai báo một mảng, chúng ta có thể gán giá trị ban đầu cho các phần tử của mảng

bằng cách đặt các giá trị trong cặp dấu {}

 Ví dụ:

int a[5] = { 16, 2, 77, 40, 12071 }; //hoặc

int a[] = { 16, 2, 77, 40, 12071 };

các khai báo này tạo ra một mảng như sau:

Trang 6

Sử dụng mảng

 Có thể thao tác với các phần tử của mảng

như thao tác với một biến thông thường

 Các phần tử của mảng được xác định theo

cách sau:

Tênmảng[chỉ_số]

 Ví dụ: Các phần tử của mảng a

Trang 7

Sử dụng mảng

 Ví dụ:

 Có thể viết các lệnh gán:

a[0]=75;

a[1]=2*a[0];

 Chỉ số là cũng có thể là một biến nguyên, hoặc

một biểu thức nguyên:

i=4;

a[i]=5;

Trang 8

Sử dụng mảng

 Một số thao tác với mảng:

 Nhập dữ liệu cho mảng

cout << "Nhap so phan tu cua day:" ;

cin >> n;

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

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

cin >> a[i];

}

Trang 9

Một số bài toán

 Tính tổng các phần tử của mảng

 Đếm số phần tử dương trong mảng

 Tìm phần tử lớn nhất (bé nhất) của mảng, và

vị trí xuất hiện của nó

 Sắp xếp mảng theo chiều tăng dần (giảm

dần)

Trang 10

// Tính tổng các phần tử của dãy

#include <iostream>

using namespace std;

int main()

{

float a[50], s;

int i, n;

cout << "Nhap so phan tu cua day: " ;

cin >> n;

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

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

cin >> a[i];

}

s = 0 ;

for (i=0; i<n; i++) s = s + a[i];

cout << "Day da nhap la:" << endl;

for (i=0; i<n; i++) cout << a[i] << " ";

Trang 11

// Đếm số phần tử dương trong dãy

#include <iostream>

using namespace std;

int main()

{

float a[50];

int i, n, dem;

cout << "Nhap so phan tu cua day: " ;

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] << " ";

Trang 12

// Tìm phần tử bé nhất trong dãy, và vị trí xuất hiện của nó

#include <iostream>

using namespace std;

int main()

{

float a[50], min;

int i, n, k;

cout << "Nhap so phan tu cua day: " ;

cin >> n;

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

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

cin >> a[i];

}

min = a[0]; k = 0;

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

if (a[i] < min ) {

min = a[i]; k = i;

Trang 13

// Sắp xếp dãy theo chiều tăng dần

#include <iostream>

using namespace std;

int main()

{

float a[50], tam;

int i, j, n;

cout << "Nhap so phan tu cua day: " ;

cin >> n;

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

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

cin >> a[i];

}

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

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

if (a[i] > a[j]) {

tam = a[i]; a[i] = a[j]; a[j] = tam;

Trang 14

Mảng hai chiều

 Mảng hai chiều còn gọi là ma trận, là sự mở rộng của mảng một chiều

 Ví dụ: Mảng hai chiều a gồm 3*5 phần tử có cùng kiểu dữ liệu có thể biểu diễn như sau

Trang 15

Khai báo mảng hai chiều

 Khai báo mảng hai chiều:

kiểu_dữ_liệu tên_mảng[m][n];

 m,n là số hàng, số cột của mảng hai chiều

 ví dụ: int a[3][5]; //khai báo mảng gồm 3*5

phần tử kiểu nguyên từ a[0][0] đến a[2][4]

 Các phần tử của mảng hai chiều được xác

định theo cách sau:

Trang 16

Sử dụng mảng hai chiều

 Một số thao tác với mảng hai chiều:

 Nhập dữ liệu cho mảng hai chiều

cout << "Nhap so hang, so cot cua ma tran:" ; cin >> m >> n;

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

for (j=0; j<n; j++) {

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

Trang 17

Sử dụng mảng hai chiều

 In các giá trị của mảng hai chiều ra màn hình

cout << "Ma tran da nhap la:" << endl;

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

{

for (j=0; j<n; j++) cout << a[i][j] << " ";

cout << endl;

Trang 18

Một số bài toán

 Các bài toán trên mảng hai chiều quy về thực hiện trên mảng một chiều

 Thực hiện các tính toán trên một hàng, một cột hoặc trên đường chéo chính của mảng hai chiều

 Các bài toán thực hiện tính toán trên toàn bộ mảng hai chiều Ví dụ:

 Tính tổng tất cả các phần tử của mảng hai chiều

 Đếm số phần tử dương trong mảng hai chiều

Trang 19

//Tính trung bình cộng các phần tử trên đường chéo chính của ma trận vuông

#include <iostream>

using namespace std;

int main()

{

double a[10][10],s;

int n,i,j;

cout << "Nhap bac cua ma tran vuong:"; cin >> n;

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

for (j=0; j<n; j++) {

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

}

s=0;

for (i=0; i<n; i++) s=s+a[i][i];

cout << "Ma tran vuong da nhap la:" << endl;

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

{

for (j=0; j<n; j++) cout << a[i][j] << " ";

Ngày đăng: 30/01/2020, 13:25

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm