求二维数组有相同第一项元素,则第二项元素相加的算法如改二维数组为:01 102 203 302 404 501 6则输出01 702 603 304 5
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/10 20:21:05
![求二维数组有相同第一项元素,则第二项元素相加的算法如改二维数组为:01 102 203 302 404 501 6则输出01 702 603 304 5](/uploads/image/z/13224313-1-3.jpg?t=%E6%B1%82%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E6%9C%89%E7%9B%B8%E5%90%8C%E7%AC%AC%E4%B8%80%E9%A1%B9%E5%85%83%E7%B4%A0%2C%E5%88%99%E7%AC%AC%E4%BA%8C%E9%A1%B9%E5%85%83%E7%B4%A0%E7%9B%B8%E5%8A%A0%E7%9A%84%E7%AE%97%E6%B3%95%E5%A6%82%E6%94%B9%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%BA%EF%BC%9A01+102+203+302+404+501+6%E5%88%99%E8%BE%93%E5%87%BA01+702+603+304+5)
求二维数组有相同第一项元素,则第二项元素相加的算法如改二维数组为: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);
}