Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    kiểm tra dãy mẹ con

    Cho hai dãy a, b. Kiểm tra a có là dãy đoạn con của b hay không ? (a là dãy đoạn con của b nếu nó là dãy con liên tục trong b. Ví dụ 1, 2, 3 là dãy đoạn con trong 14, 5, 1, 2, 3, 16, 27, 0, 2).
    Yêu cầu:
    Input (ví dụ) Day me : 14 5 1 2 3 16 27 0 2
    Day con : 1 2 3
    Output Co (hoặc Khong).
    14, 5, 1*, 2*, 3*, 16, 27, 0, 2

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Giống kiểm tra chuỗi con thôi muh [IMG]images/smilies/smile.png[/IMG]

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    bạn có thể viết thuật toán chi tiết giúp mình được không? Mình biết là phải so sánh 3 số của dãy con với thứ tự cặp 3 số của dãy mẹ mà k biết viết thế nào?

  4. #4
    Ý tưởng của mình thế này:
    chuỗi 1 có n phần tử, chuỗi 2 có m phần tử.
    Cho biến i=0 chạy đến n-m+1 trong chuỗi thứ nhất. Với mỗi vị trí của i, ta có chuỗi gồm m phần tử liên tiếp, ta đem so sánh với chuỗi thứ 2, Cụ thể:
    Mã:
    #include <stdio.h>
    #include <conio.h>
    int main()
    {
    	int m, n, i, j, *p, a[50], b[50];
    	printf("
     Nhap so phan tu cua day so thu 1   n="); scanf("%d", &n);
    	for (i = 0; i < n; i++) /////////////////////////////// Nhap phan tu cho day so me
    	{
    		printf("
    Phan tu thu %d =", i); scanf("%d", &a[i]);
    	}
    	printf("
     Nhap so phan tu cua day so thu 2   m= "); scanf("%d", &m);
    	for (j = 0; j < m; j++)  /////////////////////////////// Nhap phan tu cho day so con
    	{
    		printf("
    Phan tu thu %d =", j); scanf("%d", &b[j]);
    	}
    	for (i = 0; i <= n - m; i++)
    	{
    		p = a+i;//////////// con tro p tro den vi tri a[i]
    		for (j = 0; j < m; j++)
    			if (p[j] != b[j]) break;
    		if (j == m){ printf("
    Day so thu 2 CO nam trong day so thu 1"); break; };
    		if (i == n - m) printf(" Day so thu 2 KHONG nam trong day so thu 1");
    	}
    	getch();
    }

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •