C++:泛型编程(字符矩阵排序)

时间:2022-01-24 04:22:27

泛型编程(字符矩阵排序)

Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByte
Total Submit:24 Accepted:12

Description

现给出一个N*N(长和宽都为N)全由小写英文字母组成的方阵,要求将每一行都按照字母表顺序从小到大排序后上下颠倒之后输出。

Input

输入包括N+1行,第一行为一个整数N,接下来为N行长度为N的字符串。其中0< N<=100,所有字母均为小写字母。

Output

每一行排序后,并且上下颠倒后的方阵。

Sample Input

3
abc
edf
igh

Sample Output

ghi
def
abc


代码块:

#include <iostream>
#include<stack>
using namespace std;
int main()
{
char a[100];int n,i,j,k=0,t;
stack <char> s;
cin>>n;t=n;
while(n--)
{
cin>>a;
for(i=0;i<strlen(a)-1;i++)
for(j=i+1;j<strlen(a);j++)
{
char t;
if(a[i]<a[j]){t=a[j];a[j]=a[i];a[i]=t;}
}
for(i=0;i<strlen(a);i++)
s.push(a[i]);

}
while(!s.empty())
{

cout<<s.top();k++;

if(k%t==0)cout<<endl;
s.pop();
}

return 0;
}