Bài về nhà SFIT 03



Comments


  • 0
    Ngũ_CNTT4_K60  commented on June 26, 2020, 7:43 a.m. edited

    Sửa giúp em với ạ Bài 5 ạ

    https://paste.ofcode.org/EsKPQnDjV3tpYb8neiteDT


  • 1
    TICHPX  commented on June 25, 2020, 10:29 a.m.

    Mình chưa dạy mà các bạn làm khiếp quá, thế này thôi không phải dạy phần này nữa lớp CNTT3 nhỉ


    • 1
      nghiemtuan28112001  commented on June 25, 2020, 3:47 p.m.

      đi học thầy nói qua về xâu ký tự đi thầy ơii


  • -1
    ETYOUOAI1  commented on June 21, 2020, 2:48 p.m. edited
    #include<iostream>
    #include<cstring>
    #include<cstdlib>
    using namespace std;
    typedef struct {
        char ht[50],k[50];
        int d;
    }TS;
    void nhap (int &n, TS *&a){
        cin>>n;
        a= (TS*) malloc(sizeof(TS)*(n));
        for(int i=0;i<n;i++){
            fflush(stdin);
            scanf("%[^0-9] %d %s",a[i].ht,&a[i].d,a[i].k);
        }
    
    }
    void sxgiai(int n,TS *a){
        TS tam;
        int max=0,dem=0,u;
        for(int i=0;i<n-1;i++){
            for(int j=i+1;j<n;j++){
                if(a[i].d<a[j].d && strcmp(a[i].k,"DDT")==0 && strcmp(a[j].k,"DDT")==0){
                    tam=a[i];
                    a[i]=a[j];
                    a[j]=tam;
                }
            }
        }
        for(int i=0;i<n;i++){
            if(strcmp(a[i].k,"DDT")==0){
                dem++;
                if(dem==1){
                    cout<<"Giai nhat :"<<a[i].ht<<endl;
                }
                if(dem==2){
                    cout<<"Giai nhi :"<<a[i].ht<<endl;
                }
                if(dem==3){
                    cout<<"Giai ba :"<<a[i].ht<<endl;
                }
    
    
            }
        }
        for(int i=0;i<n;i++){
            if(a[i].d>max && strcmp(a[i].k,"DDT")!=0){
                max=a[i].d;
                u=i;
            }
        }
        cout<<"Giai giao luu :"<<a[u].ht;
    }
    int main(){
        int n;
        TS *a;
        nhap(n,a);
        sxgiai(n,a);
    }

    web sai rồi nhỉ@@ ai sữa giùm mình cái bí quá thanks


    • 1
      CNTT2_K59  commented on June 21, 2020, 5:22 p.m.

      Phần tách dữ liệu của bạn bị thiếu, sửa lại như này là được nhé. ^^


      scanf("\n%[^0-9]%d%s", a[i].ht, &a[i].d, a[i].k);

      • 1
        quy_CNTT3_K60  commented on June 23, 2020, 4:24 p.m.

        \n%[^0-9]%d%s cái này nghĩa là sao ạ [^0-9] nó có nghĩa j vậy ạ


        • 1
          haidv  commented on June 24, 2020, 12:17 a.m.

          đọc đến khi gặp số.


      • 0
        Phuc_CNTT3_K60  commented on June 22, 2020, 12:20 p.m.

        Anh ơi cách này chỉ dùng được cho mảng char thôi. Nếu mà dùng string thì phải làm thế nào ạ @@


        • 1
          CNTT2_K59  commented on June 23, 2020, 6:29 a.m.

          Phuc_CNTT3_K60 Thì cứ đọc bằng char xong lại dùng hàm chuyển sang string. :v


      • 0
        Phuc_CNTT3_K60  commented on June 22, 2020, 3:00 a.m.

        em ko bt cái này nên code hỗn loạn vãi :v


      • 1
        ETYOUOAI1  commented on June 21, 2020, 5:28 p.m.

        thanks anh nhiều!