给一个数组,将数组的值经VECTOR容器的对象然后重新排序并输出各元素的和
1个回答
展开全部
#include <stdio.h>
void A(int a[3][4]){
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++){
for(int j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
void B(int a[3][4]){
int t,s;
for(int i=0;i<3;i++)
for(int j=0,y=0;j<4;j++){
s=0;
t=a[i][j];
y=j;
for(int x=i;x>=0;x--){
for(;y>=0;y--){
if(x==i && y==j) continue;
if(t<a[x][y]){
a[x+(y+1)/4][(y+1)%4]=a[x][y];
a[x][y]=t;
}
else{
s=1;
break;
}
}
if(s==1) break;
y=3;
}
}
}
void C(int a[3][4]){
for(int i=0;i<3;i++){
for(int j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
main(){
int a[3][4]={0};
A(a);
B(a);
printf("\n");
C(a);
}
void A(int a[3][4]){
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++){
for(int j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
void B(int a[3][4]){
int t,s;
for(int i=0;i<3;i++)
for(int j=0,y=0;j<4;j++){
s=0;
t=a[i][j];
y=j;
for(int x=i;x>=0;x--){
for(;y>=0;y--){
if(x==i && y==j) continue;
if(t<a[x][y]){
a[x+(y+1)/4][(y+1)%4]=a[x][y];
a[x][y]=t;
}
else{
s=1;
break;
}
}
if(s==1) break;
y=3;
}
}
}
void C(int a[3][4]){
for(int i=0;i<3;i++){
for(int j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
main(){
int a[3][4]={0};
A(a);
B(a);
printf("\n");
C(a);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询