Bài giảng Các thuật toán trên vòng lặp - Nguyễn Đông Hà

Đếm số phần tử chẳn trong mảng

int DemPhanTuChan(int a[], int n)

{

int i = 0;

int sophantuchan = 0;

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

{

if(a[i]%2 == 0)

sophantuchan = sophantuchan + 1;

}

return sophantuchan;

}

Tìm phần tử theo một tiêu chuẩn

int KiemTraTonTai(int a[], int n, int x)

{

int i = 0;

int tontai = 0;

while(tontai == 0 && i < n)

{

if(a[i] == x)

{

tontai = 1;

}

i++;

}

return tontai;

}

Tìm phần tử nhỏ nhất

int SoNhoNhat(int a[], int n)

{

int i = 0;

int min = a[0];

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

{

if(a[i] < min)

{

min = a[i];

}

}

return min;

}

Sưu

pdf15 trang | Chia sẻ: trungkhoi17 | Lượt xem: 916 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Các thuật toán trên vòng lặp - Nguyễn Đông Hà, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Các thuật toán trên vòng lặp Nguyễn Đông Hà Khoa CNTT – ĐH KHTN Sưu tầm bởi: www.daihoc.com.vn Thuật toán lặp tổng quát Lặp i = 0,,n-1 làm Gọi thủ tục xử lý cho lần lặp thứ i Cuối lặp; Thực hiện 1 thủ tục n lần : Sưu tầm bởi: www.daihoc.com.vn Cài đặt thuật toán lặp tổng quát /* n là số lần lặp, n phải biết trước */ /* Khai báo biến lặp */ int i = 0; for(i = 0; i < n ; i++) { /*Các câu lệnh thực hiện */ ... } Dùng for : Sưu tầm bởi: www.daihoc.com.vn Ghi nhớ về cấu trúc lặp „ Sử dụng vòng lặp for khi biết trước số lần lặp hoặc cần sử dụng chỉ số lặp „ Sử dụng vòng lặp while khi không biết trước số lần lặp và phải thực hiện thủ tục lặp đi lặp lại khi một điều kiện vẫn còn được thỏa mãn „ Sử dụng vòng lặp do..while khi thủ tục cần được thực hiện ít nhất một lần, bất kể điều kiện lặp có được thỏa mãn hay không Sưu tầm bởi: www.daihoc.com.vn Tính tổng số các phần tử trong mảng /*Ham tinh tong cac phan tu trong mang*/ int TongMang(int a[], int n) { int i = 0; int tong = 0; for (i = 0; i < n; i++) { tong = tong + a[i]; } return tong; } Sưu tầm bởi: www.daihoc.com.vn Đếm số phần tử chẳn trong mảng int DemPhanTuChan(int a[], int n) { int i = 0; int sophantuchan = 0; for(i = 0; i < n; i++) { if(a[i]%2 == 0) sophantuchan = sophantuchan + 1; } return sophantuchan; } Sưu tầm bởi: www.daihoc.com.vn Tìm phần tử theo một tiêu chuẩn int KiemTraTonTai(int a[], int n, int x) { int i = 0; int tontai = 0; while(tontai == 0 && i < n) { if(a[i] == x) { tontai = 1; } i++; } return tontai; } Sưu tầm bởi: www.daihoc.com.vn Tìm phần tử nhỏ nhất int SoNhoNhat(int a[], int n) { int i = 0; int min = a[0]; for(i = 0; i < n; i++) { if(a[i] < min) { min = a[i]; } } return min; } Sưu tầm bởi: www.daihoc.com.vn Vòng lặp lồng nhau „ Xuất các ký tự sao (*) ra màn hình như hình dưới đây, chiều dài và chiều rộng do người dùng nhập vào. ************************* ************************* ************************* ************************* ************************* Sưu tầm bởi: www.daihoc.com.vn In hình chữ nhật dấu * /* Chuong trinh in ra hinh chu nhat duoi dang cac dau sao, gia tri chieu dai va chieu rong duoc nhap boi nguoi dung */ #include #include /* Khai bao prototype cac ham se su dung trong chuong trinh */ void NhapSoNguyen(int *so); void VeHinhChuNhat(int d, int r); Sưu tầm bởi: www.daihoc.com.vn In hình chữ nhật dấu * /* Ham nhap 1 so nguyen tu ban phim */ void NhapSoNguyen(int *so) { printf("Nhap so nguyen: "); scanf("%d", so); } Sưu tầm bởi: www.daihoc.com.vn In hình chữ nhật dấu * void VeHinhChuNhat(int d, int r) { int i,j; for(i = 0; i < r ; i ++) { for( j = 0; j < d ; j ++) { printf(" * "); } printf("\n"); } } Sưu tầm bởi: www.daihoc.com.vn In hình chữ nhật dấu * void main() { int dai, rong; /* Nhap du lieu cho 2 bien dai, rong */ printf("Hay nhap chieu dai hcn...\n"); NhapSoNguyen(&dai); printf("Hay nhap chieu rong hcn...\n"); NhapSoNguyen(&rong); /* Goi ham ve hinh chu nhat */ VeHinhChuNhat(dai,rong); } Sưu tầm bởi: www.daihoc.com.vn Bài tập „ Giáo trình Lập trình C „ Chương 4: 4, 6, 7, 8, 9, 11 Sưu tầm bởi: www.daihoc.com.vn Sưu tầm bởi: www.daihoc.com.vn

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_cac_thuat_toan_tren_vong_lap_nguyen_dong_ha.pdf