首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求解,n行二列数组

2012-12-31 
求解,n行2列数组如何比较n*2数组中,每一行间的元素大小。要求输出元素值最小的一行,和与改行无法比较的一行

求解,n行2列数组
如何比较n*2数组中,每一行间的元素大小。
要求输出元素值最小的一行,和与改行无法比较的一行元素。
比如:A[4][2]={{97,88},{43,43},{10,97},{21,20}};
(97,88)>(43,43)>(21,20),(21,20)与(10,97)无法比较大小;
输出{10,97},{21,20};

[解决办法]
不懂你这题目什么意思
[解决办法]
首先要确定使用哪一种方式比较吧,前面的数值大还是小,确定之后就可以比较,然后把不符合标准的全部输出
[解决办法]

#include<stdio.h>
main()
{
  int a[7][2]={{10,97},{33,88},{43,43},{21,20},{33,87},{33,23},{1,32}};
  int i,j;
  int temp[2],t;
  int n=sizeof(a)/sizeof(a[0]);
  for(i=0;i<n-1;i++)
   for(j=i+1;j<n;j++)
    if(a[i][0]<a[j][0])
    {
 temp[0]=a[j][0];
 a[j][0]=a[i][0];
 a[i][0]=temp[0];
 temp[1]=a[j][1];
 a[j][1]=a[i][1];
 a[i][1]=temp[1];
    }
  t=a[0][1];
  for(i=1;i<n;i++)
  {
    if(a[i][1]<=t)
    {
      t=a[i][1];
      j=i;
    }
  }
  printf("{%d,%d}",a[j][0],a[j][1]);
 for(i=0;i<n;i++)
   if(a[i][0]>a[j][0]&&a[i][1]<a[j][1] 
[解决办法]
 a[i][0]<a[j][0]&&a[i][1]>a[j][1] )
      printf("{%d,%d}",a[i][0],a[i][1]);
 printf("第一维排序后的为:\n");
 for(i=0;i<n;i++)
    printf("{%d,%d}",a[i][0],a[i][1]);
}

热点排行