#29963: 卡了整整半天


alex950301 (alex0301)

學校 : 新北市立新莊高級中學
編號 : 141423
來源 : [210.71.71.209]
最後登入時間 :
2024-04-25 17:19:37
e839.  P6. 飲食分類 (Food) -- 2019年08月TOI新手同好會 | From: [61.64.1.159] | 發表日期 : 2022-04-16 22:16

#include <iostream>

using namespace std;

struct box {  //A

    string a ;

    string b ;

};

struct diet {  //a

    string a ; //name

    string b ; //type

};

int main() {

    struct diet a[50] ;

    struct box A[50] ;

    int i , j , I = 0 ; 

    string x ;

    cin >> j ;

    for( i = 0 ; i < j ; i++ ) {

        cin >> a[i].a >> a[i].b;

        A[i].b = a[i].a[0] ;

    }

    cin >> x ;

    for( i = 0 ; i < j ; i++ ) {

        if( x == a[i].b ) {

            A[I].a = a[i].a ;

            I++ ;

        }

    }

    for( i = 0 ; i < I - 1 ; i++ ) {

        for( int k = 0 ; k < I - 1 ; k++ ) {

            if( A[i].b < A[i+1].b ) {

                swap( A[i].b , A[i+1].b ) ;

                swap( A[i].a , A[i+1].a ) ;

            }

        }

    }

    for( i = 0 ; i < I ; i++ ) {

        cout << A[i].a << endl;

    }

    return 0 ;

}

 
#29964: Re:卡了整整半天


alex950301 (alex0301)

學校 : 新北市立新莊高級中學
編號 : 141423
來源 : [210.71.71.209]
最後登入時間 :
2024-04-25 17:19:37
e839.  P6. 飲食分類 (Food) -- 2019年08月TOI新手同好會 | From: [61.64.1.159] | 發表日期 : 2022-04-16 22:25

上面最後的泡沫排序一直成功不了

 
#29969: Re:卡了整整半天


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
e839.  P6. 飲食分類 (Food) -- 2019年08月TOI新手同好會 | From: [110.28.100.115] | 發表日期 : 2022-04-17 14:06

上面最後的泡沫排序一直成功不了


不懂,你為什麼你要用A[i].b來排序?A[i].b跟A[i].a是完全無關的東西。

另外泡沫排序不是這樣寫的吧,你搜尋一下吧,不會的話用內建排序也可以

 
ZeroJudge Forum