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

ĐẠ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

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()
{
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++)
{

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();
}


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status