[ create a new paste ] login | about

Link: http://codepad.org/EzNjhfqf    [ raw code | output | fork ]

C, pasted on Jul 26:
#include<stdio.h>
int main(){
	int a[4][3]={
		{3,5,8},
		{4,3,5},
		{2,2,3},
		{1,8,7}
	};

 	int b[4],x,y;

	for(y=0;y<=3;y++){
		b[y]=0;
		for(x=0;x<=2;x++){
			b[y] += a[y][x];
		}
	}

	for(y=0;y<=3;y++){
		printf("%d\n",b[y]);
	}

// ここから改造
int i,z,d[4];
int c[4][3];

// d[4]にb[4]の内容をコピー
for(y=0;y<=3;y++){
 d[y]=b[y];
}

// d[4]を昇順にソート
for(y=0;y<=2;y++) {
 for(x=y+1;x<=3;x++) {
  if (d[y] > d[x]) {
   z=d[y];
   d[y]=d[x];
   d[x]=z;
  }
 }
}

//ソート結果d[4]とソート前の累計b[4]を比較してc[4][3]を作成
z=0;
while(z<=3){
 i=z;
 for(y=0;y<=3;y++){
  if (d[z]==b[y]) {
   for(x=0;x<=2;x++){
    c[i][x]=a[y][x];
   }
   i++;
  }
 }
 z=i;
}
// c[4][3]出力
for(y=0;y<=3;y++){
 printf("{");
 for(x=0;x<=2;x++){
  printf("%d",c[y][x]);
  if(x!=2)
   printf(",");
 }
 printf("}\n");
}

return 0;
}


Output:
1
2
3
4
5
6
7
8
16
12
7
16
{2,2,3}
{4,3,5}
{3,5,8}
{1,8,7}


Create a new paste based on this one


Comments: