#37659: 請問高手,我的code哪裡出錯,謝謝。


ope22331 (ope)

學校 : 不指定學校
編號 : 220874
來源 : [163.19.24.254]
最後登入時間 :
2024-01-17 10:52:44
a915. 二维点排序 | From: [163.19.24.24] | 發表日期 : 2023-09-25 15:01

#include<bits/stdc++.h>
using namespace std;
int main()
{   int n,i,j,temp;
    cin>>n;
    int a[n][2]={-1};
    for(i=0;i<n;i++){
        for(j=0;j<2;j++){
            cin>>a[i][j];
        }}
    for(i=0;i<n-1;i++){
        if(a[i][0]>a[i+1][0]){    //x1>x2
            swap(a[i][0],a[i+1][0]);//x對調
            swap(a[i][1],a[i+1][1]);//y對調
            }
        }
    for(i=0;i<n-1;i++){
        if(a[i][0]==a[i+1][0]){    //x1=x2
            if(a[i][1]>a[i+1][1]){   //y1>y2
                swap(a[i][1],a[i+1][1]);  //y對調
            }
        }
    }
    for(i=0;i<n;i++){
        for(j=0;j<2;j++){
            cout<<a[i][j]<<" ";  //印出(x,y)
        }
        cout<<"\n";
    }
    return 0;
}
 
#37664: Re: 請問高手,我的code哪裡出錯,謝謝。


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
a915. 二维点排序 | From: [39.15.41.76] | 發表日期 : 2023-09-26 14:25

    for(i=0;i<n-1;i++){
        if(a[i][0]>a[i+1][0]){    //x1>x2
            swap(a[i][0],a[i+1][0]);//x對調
            swap(a[i][1],a[i+1][1]);//y對調
            }
        }
    for(i=0;i<n-1;i++){
        if(a[i][0]==a[i+1][0]){    //x1=x2
            if(a[i][1]>a[i+1][1]){   //y1>y2
                swap(a[i][1],a[i+1][1]);  //y對調
            }
        }
    }


這樣沒辦法排序吧,你先學一下排序的演算法或是用內建的sort吧

 
ZeroJudge Forum