作业帮 > 综合 > 作业

求二维数组有相同第一项元素,则第二项元素相加的算法

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/04 17:26:25
求二维数组有相同第一项元素,则第二项元素相加的算法
如改二维数组为:
01 1
02 2
03 3
02 4
04 5
01 6
则输出
01 7
02 6
03 3
04 5
#include
#include
void printSum(int array[][2], int len) //array为输入的二维数组,len为长度
{
int (*tmp)[2]= new int[len][2];
int i, j;
for(i = 0; i < len; i++) //避免影响入参
{
tmp[i][0] = array[i][0];
tmp[i][1] = array[i][1];
}
for(i = 0; i < len; i++)
for(j = 0; j < i; j++)
{
if (tmp[i][0] == tmp[j][0])
tmp[j][1] += tmp[i][1];
}
for(i = 0; i < len; i++)
{
for(j = 0; j < i; j++)
{
if (tmp[i][0] == tmp[j][0])
break;
}
if (j == i)
printf("%2d, %d ",tmp[i][0], tmp[i][1]);
}
//释放二维数组
}
void main()
{
int array[][] = {{1,1},{2,2},{3,3},{2,4},{4,5},{1,6}};
printSum(array, 6);
}