Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Code bị lỗi sai cú pháp

  1. #1
    Ngày gia nhập
    01 2010
    Bài viết
    0

    Mặc định Code bị lỗi sai cú pháp

    Tình hình là mình có cái bài tập này
    cho 2 mang A,B được sắp xếp tang(giam) dần, Viết chương trình trộn 2 mang lại với nhau thành mảng thứ 3 mà vẫn giữ được tính tăng (giảm) dần của nó.

    Mình mới học C++ thôi mọi người chém nhẹ tay xíu nhen

    Code:
    #include<iostream.h>
    #include<conio.h>
    void tronmang (int a[100], int na, int b[100], int nb, int c[200], int nc)
    {
    
    cout<" xin moi nhap mang A tang( giam): ";cin>>na;
    nc=0;
    for(int i=0;i<na;i++)
    c[nc++]=a[i];
    {
    cout<" xin moi nhap mang B tang( giam): ";cin>>nb;
    for(int i=0;i<nb;i++)
    }
    for(int k=0; k<nc;k++)
     {
    if(c[k]<b[i]) break;
    for(int j=nc;j>k;j++)
    c[i]?=c[j-1];
    c[k]=b[i];
    nc++;
    cout<<" sau khi tron hai mang A,B ta duoc: "<<nc;
    }
    getch();
    ____________________________
    thank trước nha

  2. #2
    Ngày gia nhập
    05 2010
    Bài viết
    29

    Mình cũng mới làm bài này cách đây mấy ngày.

    Bài này trong sách GS Phạm Văn Ất cũng có lời giải nhưng hơi dài. Mình nghĩ thế này thì dễ hơn:
    ví dụ dãy tăng:
    dãy 1: mảng a[na], biến duyệt ia=0;
    dãy 2: mảng b[nb], biến duyệt ib=0;
    dãy 3: mảng c[nc], biến duyệt ic

    Duyệt dãy 3: ic=0 to (na+nb)
    mỗi bước so sánh:
    - nếu a[ia]<=b[ib] thì gán c[ic]=a[ia] và tăng ia=ia+1
    - nếu a[ia]>b[ib] thì gán c[ic]=b[ib] và tăng ib=ib+1

    Lưu ý: khi dãy 1 hoặc dãy 2 đã bị duyệt hết (tức ia>=na, ib>=nb), khi đó c[ic]=b[ib], c[ic]=a[ia]

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3.  
    4. void nhapmang(char c, int *p, int n)
    5. {
    6.  for(int i=0;i<n;++i)
    7.  {
    8.   printf("%c[%d]= ",c,i);
    9.   scanf("%d",p+i);
    10.  }
    11. }
    12.  
    13. void xuatmang(int *p, int n)
    14. {
    15.  for(int i=0;i<n;++i)
    16.  {
    17.   printf("%3d",*(p+i));
    18.  }
    19. }
    20.  
    21. main()
    22. {
    23.  int a[100],b[100],c[100];
    24.  int na,nb,nc;
    25.  int ia=0,ib=0,ic;
    26.  printf("Nhap so phan tu day 1: ");
    27.  scanf("%d",&na);
    28.  nhapmang('a',a,na);
    29.  printf("Nhap so phan tu day 2: ");
    30.  scanf("%d",&nb);
    31.  nhapmang('b',b,nb);
    32.  printf("Day 1: ");
    33.  xuatmang(a,na);
    34.  printf("\n");
    35.  printf("Day 2: ");
    36.  xuatmang(b,nb);
    37.  nc=na+nb;
    38.  for(ic=0;ic<nc;++ic)
    39.   {
    40.     if(ia>=na) c[ic]=b[ib++];
    41.     else if(ib>=nb) c[ic]=a[ia++];
    42.     else c[ic]=a[ia]<b[ib]?a[ia++]:b[ib++];
    43.   }
    44.  printf("\n");
    45.  printf("Day sau khi duoc sap xep: ");
    46.  xuatmang(c,nc);
    47.  getch();
    48. }
    Đã được chỉnh sửa lần cuối bởi vipbk09 : 24-04-2012 lúc 02:33 PM.

  3. #3
    Ngày gia nhập
    01 2010
    Bài viết
    0

    ban coi giùm cái dòng này
    Code:
    printf("%3d",*(p+i))
    bài bạn làm rất hay, nhưng chỉ nhập được day 1 thôi còn dãy 2 thì không nhập đươc.

Các đề tài tương tự

  1. Tại sao lại bỏ Store Proceduce nếu code theo hướng Code First trong MVC3
    Gửi bởi rogerminh2401 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 5
    Bài viết cuối: 02-11-2012, 08:22 PM
  2. Trả lời: 5
    Bài viết cuối: 27-04-2012, 07:51 PM
  3. compiler Warning: Unreachable code và chạy sai trong khi code đúng. Vì sao?
    Gửi bởi lovemoney trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 19
    Bài viết cuối: 19-01-2012, 10:02 PM
  4. Bài tập C++ Nhập code và name sv vào in ra thì name in đúng nhưng code thì in ra cả 2 code lẫn name
    Gửi bởi spacy0212 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 27-09-2011, 08:47 AM
  5. Code quản lý sinh viên bằng danh sách lối vòng. Giúp mình thay đổi code kế thừa?
    Gửi bởi caocanha trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 04-05-2009, 03:39 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn