Đế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
15 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 874 | Lượt tải: 0
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:
- bai_giang_cac_thuat_toan_tren_vong_lap_nguyen_dong_ha.pdf