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

Thực hành tin học đại cương tuần 5

4 493 1

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 54,5 KB

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

Nội dung

Trong thời đại CNTT phát triển nhanh với tốc độ chóng mặt như hiện nay, Tin học Văn phòng là một trong những Kỹ năng mềm không thể thiếu được với mỗi sinh viên, nhân viên văn phòng,… Bất kỳ Nhà tuyển dụng nào cũng thường yêu cầu rất cao khả năng sử dụng thành thạo Tin học văn phòng như: Word, Excel, PowerPoint, Access,…Và trong những năm gần đây thì yêu cầu đó ngày càng cao hơn trước rất nhiều. Trang bị Kiến thức, kỹ năng sử Tin học văn phòng thành thạo là một việc rất cần thiết trước khi bạn tiến hành đi xin việc.

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Đại học Công nghệ Thông tin

-   

-THỰC HÀNH MÔN TIN HỌC ĐẠI CƯƠNG

Bài số 5: MẢNG HAI CHIỀU

1 MỤC TIÊU

1.1 Nắm được các cách khai báo kiểu dữ liệu mảng hai chiều (ma

trận).

1.2 Sử dụng vòng lặp để duyệt trên ma trận

1.3 Thao tác các phần tử trong mảng thông qua giá trị và chỉ số tương

ứng trong ma trận

2 BÀI TẬP THỰC HÀNH

2.1 Ma trận

a Đề bài :

Nhập và in ma trận A(m x n)

a Tìm số nhỏ nhất và số lớn nhất trong ma trận

b Tính tổng của tất cả các phần tử trong ma trận

c Đếm trong ma trận có bao nhiêu số dương, bao nhiêu số 0, bao nhiêu

số âm

d Tìm và in số lớn nhất trong từng hàng của ma trận

e Tìm và in số lớn nhất trong từng cột của ma trận

f Sắp xếp các hàng theo thứ tự tăng dần

g Sắp xếp thứ tự các cột (thành phần trong mỗi cột vẫn được giữ nguyên) sao cho các số trên hàng đầu tiên của ma trận có giá trị tăng dần

b Phân tích bài toán :

a Để tìm số lớn nhất (bé nhất) trong ma trận, ta dùng hai vòng lặp lồng nhau để duyệt Xem chương trình VD2_1a

b Tương tự câu 1, và thay vì so sánh các phần tử ta cộng dồn chúng lại Các anh chị tự cài đặt chương trình này

c Xem bài tập 2.1 (bài thực hành số 4) Tuy nhiên, để đếm trên toàn ma trận, ta cũng cần duyệt như ở câu 1 Các anh chị tự cài đặt chương trình này

d Dùng vòng lặp duyệt trên từng hàng, so sánh các phần tử (cột) trong hàng để tìm ra phần tử lớn nhất và in ra Xem chương trình VD2_1b

Trang 2

e Tương tự câu 4, tuy nhiên duyệt cột trước khi duyệt hàng.

f Duyệt từng hàng và xử lý mỗi hàng như mảng một chiều

c Chương trình minh họa:

VD2_1a.cpp

#include <stdio.h>

#include <conio.h>

#define MAX 100;

void main()

{

int a[MAX][MAX];

int m, n, min;

printf(‘Cho biết số dòng của ma trận :’);

scanf(“%d”, &m);

printf(‘Cho biết số cột của ma trận :’);

scanf(“%d”,&n);

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

for (int j = 0; j< m; j++) {

printf(‘Nhập phần tử dòng %d cột %d:’, i, j);

scanf(“%d”, &a[i][j]);

}

min = a[0][0];

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

for (int j = 0; j< m; j++)

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

min = a[i][j];

printf(‘Ma trận được hiển thị như sau :’);

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

for (int j = 0; j< m; j++)

printf(‘%d ‘, a[i][j]);

printf(‘\n’);

}

printf(‘Số bé nhất trong Ma trận là : %d’, min);

getch();

}

VD2_1b.cpp

#include <stdio.h>

#include <conio.h>

#define MAX 100;

void main()

{

Trang 3

int a[MAX][MAX];

int m, n, num;

printf(‘Cho biết số dòng của ma trận : ’);

scanf(“%d”, &m);

printf(‘Cho biết số cột của ma trận : ’);

scanf(“%d”, &n);

for (int i = 0; i< m; i++) for (int j = 0; j< m; j++) {

printf(‘Nhập phần tử dòng %d cột %d:’, i, j);

scanf(“%d”, &a[i][j]);

} for (int i = 0; i< m; i++) {

num = a[i][0];

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

if (num <a[i][j])

num = a[i][j];

printf‘(Số lớn nhất của dòng %d là : %d’, i, num);

}

getch();

}

2.2 Ma trận vuông

Đề bài :

Nhập và in ma trận vuông a(n x n)

a Tìm số nhỏ nhất và số lớn nhất trên đường chéo chính

b Tính tổng của tất cả các phần tử trong đường chéo phụ

c Sắp xếp các số trên đường chéo chính theo thứ tự giảm dần (các số khác vẫn giữ nguyên)

Giả sử ta có ma trận như sau:

9 8 7

6 5 4

3 2 1

Thì các số nằm trên đường chéo chính là: 1, 5, 9 và các số trên đường chéo phụ là: 3, 5, 7

Ma trận sau khi sắp xếp các số trên đường chéo chính theo thứ tự giảm dần sẽ là:

1 8 7

6 5 4

3 2 9

Phân tích bài toán :

a Để tìm số lớn nhất (bé nhất) trong trên đường chéo chính (nơi mà chỉ

số hàng và cột bằng nhau, ví dụ: a[0][0], a[4][4] Xem chương trình minh hoạ bên dưới

Trang 4

b Tương tự câu 1, và thay vì so sánh các phần tử ta cộng dồn chúng lại Các anh chị tự cài đặt chương trình này

Chương trình minh họa:

#include <stdio.h>

#include <conio.h>

#define MAX 100;

void main()

{

int a[MAX][MAX];

int n, num;

printf(‘Cho biết số dòng của ma trận : ’);

scanf(“%d”, &n);

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

printf(‘Nhập phần tử dòng %d cột %d:’, i, j);

scanf(“%d”, &a[i][j]);

}

num = a[0][0];

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

if (num <a[i][i])

num = a[i][i];

}

printf‘(Số lớn nhất của đường chéo chính là %d’, num);

getch();

}

Ngày đăng: 17/03/2015, 14:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w