intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Tin học cơ sở 4: Mảng và Chuỗi - TS. Vũ Thị Hồng Nhạn

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:19

7
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Tin học cơ sở 4: Mảng và Chuỗi, cung cấp cho người học những kiến thức như khai báo mảng, chuỗi; Nhập và xuất mảng, chuỗi; khởi tạo mảng, chuỗi; Một số kỹ thuật thao tác trên mảng, chuỗi; dùng mảng làm tham số cho hàm. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tin học cơ sở 4: Mảng và Chuỗi - TS. Vũ Thị Hồng Nhạn

  1. Tin Học Cơ Sở 4: Mảng và Chuỗi Vũ Thị Hồng Nhạn (vthnhan@vnu.edu.vn) Human Machine Interaction Lab. Vietnam National Univ., Hanoi
  2. Nội dung Khai báo m ng, chu i Nh p & xu t m ng, chu i Kh i t o m ng, chu i M t s k thu t thao tác trên m ng, chu i Dùng m ng làm tham s cho hàm 03/03/2016 Arrays & String Page 2
  3. Mảng Là m t t p h p các ph n t có cùng d li u Ví d : mu n lưu 3 s th c nh p t bàn phím đ tính trung bình Lúc trư c float a, b, c Nh p vào ba s và gán cho a,b,c Tính trung bình (a+b+c)/3 03/03/2016 Arrays & String Page 3
  4. Mảng 1 chiều Khai báo mảng Khai báo m t m ng, s d ng [ ] Vd. T o m t m ng v i 3 ph n t s nguyên int a[3] Không th thay đ i kích c c a m ng S n m gi a c p d u [ ] ph i là h ng s (constant) Có th kh i t o giá tr cho các ph n t trong hàm int a[10] = {2, -1, 6, 2, 8, 0, 3, 5, 1, 3}; Cách t t nh t đ trình biên d ch t tính kích thư c: int a[ ] = {2, -1, 6}; 03/03/2016 Arrays & String Page 4
  5. M ng 1 chi u Tham chiếu ñến từng phần tử Sau khi khai báo, m i ph n t trong m ng đ u có m t ch s đ tham chi u n: kích c c a m ng Ch s t 0 t i n-1 Phần tử thứ 3 Phần tử thứ 8 03/03/2016 Arrays & String Page 5
  6. Mảng 1 chi u Đọc dữ liệu cho mảng for (i=0; i
  7. Mảng 1 chi u Ví dụ 1 Nhập n số nguyên và tính giá trị trung bình int main(){ int a[50], i, sum=0, n; printf("Nhap vao so phan tu n="); scanf("%d", &n); //Nhap du lieu vao mang for(i=0; i
  8. Mảng 1 chi u Nhận xét Đi u gì s x y ra n u ta nh p n>50 ? Yêu c u nh p do{ printf(“”); scanf(); }while (n50) 03/03/2016 Arrays & String Page 8
  9. Mảng 1 chi u Ví dụ 2 Nhập vào 1 dãy số dương rồi in tổng các số dương đó, nếu nhập số MAX){ Kiểm tra số lượng phần printf("Array is full\n"); Để chấm dứt nhập số i++; tử đã vượt quá giới hạn break; chưa liệu, hãy nhập vào số 0 } hoặc âm printf("Nhap vao phan tu a[%d]=",i+1); scanf("%f", &a[i]); i++; }while(a[i] >0); Tính & in tổng i--; for(j=0; j
  10. Mảng 1 chi u Ví dụ 3: luyện tập Có 4 lo i ti n 1, 5, 10, 20 và 50 đ ng. Hãy vi t chương trình nh p vào s ti n sau đó cho bi t s ti n trên g m m y lo i ti n, m i lo i bao nhiêu t 03/03/2016 Arrays & String Page 10
  11. Mảng 2 chiều Khai báo m ng 2 chi u, ví du, a[5][10] m i ph n t trong m ng 2 chi u đ u có 2 ch s đ tham chi u, ch s hàng và ch s c t a[chỉ số hàng][chỉ số cột] a[0][2] 03/03/2016 Arrays & String Page 11
  12. Mảng 2 chiều Nhập dữ liệu Th t nh p d li u vào màng for(i=0; i
  13. Mảng 2 chiều Ví dụ 4 1. Khởi tạo ma trận với gia trị 0,1, in ma trận với dấu * cho giá trị 1 và ngược lại để trống #define MAX 3 int M[MAX][MAX]={{1, 0, 1}, {0, 1, 0}, {1, 0, 1}}; int main(){ int i=0, j=0; for(i=0; i
  14. Mảng 2 chiều Ví dụ 4 2. Nhập dữ liệu vào một ma trận nxn và in ra ma trận đó //Nhap gia tri vao ma tran for(i=0; i
  15. Ví dụ 5 Hàm với tham số là mảng 1 chiều Tìm s l n nh t trong ma tr n b t kỳ, nh p 0 đ thoát khi nh p li u #define MAX 3 //Khai báo hàm int input(int); int max(int, int); //Định nghĩa hàm nhập liệu Khi truy n m ng (có th 1 int input(int a[]){ ho c 2 chi u), hàm không int i=0; printf("Nhap vao so 0 de ket thuc\n"); t o b n sao m i do{ printf("Nhap vao a[%d]=", i); scanf("%d", &a[i]); i++; }while( a[i] !=0 ); i--; return i; //trả về tổng số lượng phần tử đã nhập vào mảng }
  16. Ví dụ 5 Hàm với tham số là mảng 1 chiều Tìm s l n nh t trong ma tr n int max(int a[],int in){ //Định nghĩa hàm tìm giá trị lớn nhất int max = a[0], i; for(i=1; i max) max = a[i]; return max; } int main(){ int a[MAX]; int max,n; n = input(a); //gọi hàm nhập liệu max = max(a,n); //gọi hàm tìm giá trị lớn nhất printf("So lon nhat tronng mang: %d", max); }
  17. Ví dụ 6 Hàm với tham số là mảng hai chiều Nh p 2 ma tr n vuông c p n, C ng 2 ma tr n và in ra k t qu #define MAX 3 void output(float a[][MAX]){ //Khai báo hàm for(int i=0;i
  18. Ví dụ 6 Hàm với tham số là mảng hai chiều Nh p 2 ma tr n vuông c p n, C ng 2 ma tr n và in ra k t qu int main(){ float a[MAX][MAX], b[MAX][MAX],c[MAX][MAX]; printf("Nhap vao cap ma tran:"); scanf("%d", &n); Tham s truy n vào hàm printf("Nhap lieu ma tran a\n"); m ng 2 chi u d ng input(a); a[][MAX] printf("Nhap lieu ma tran b\n"); vì hàm không giành ch cho input(b); m ng, hàm ch c n bi t s printf("Tong ma tran a+b:\n"); add(a,b,c); c t đ tham kh o đ n các output(c); ph n t getch(); return 0; } 03/03/2016 Arrays & String Page 18
  19. Ví dụ 6 Giải thích M ng 2 chi u đư c khai báo a[3][3] 03/03/2016 Arrays & String Page 19
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2