求二维数组有相同第一项元素,则第二项元素相加的算法如改二维数组为:01 102 203 302 404 501 6则输出01 702 603 304 5
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/27 16:26:50
求二维数组有相同第一项元素,则第二项元素相加的算法如改二维数组为:01 102 203 302 404 501 6则输出01 702 603 304 5
求二维数组有相同第一项元素,则第二项元素相加的算法
如改二维数组为:
01 1
02 2
03 3
02 4
04 5
01 6
则输出
01 7
02 6
03 3
04 5
求二维数组有相同第一项元素,则第二项元素相加的算法如改二维数组为:01 102 203 302 404 501 6则输出01 702 603 304 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);
}