在 dev-c++ 中将数组放在一起
Posted
技术标签:
【中文标题】在 dev-c++ 中将数组放在一起【英文标题】:Put together arrays in dev-c++ 【发布时间】:2019-05-04 20:05:04 【问题描述】:我有一个作业,要求计算几天内收集了多少种不同的蘑菇,一个月几次,并按天数升序排列
含义:
11 - 多少行(对于 for 函数)
第一个数字 - 采蘑菇的天数
其他三个数字 - 不同类型的蘑菇(B、R 和 L)
数据示例:
11
2 8 4 0
3 1 0 9
1 2 3 4
5 4 14 2
2 4 4 4
3 0 0 0
15 25 45 13
28 13 13 13
16 2 0 2
16 5 15 25
3 4 44 444
*重复天数表示当天采蘑菇数次
我已经把它们按顺序排列了,但是不能合并数组(蘑菇)
*(n) 代表数字 11
void count (int D[], int B[], int R[], int L[], int n)
for ( int i=0; i<n;i++)
for ( int j=i+1; j<n;j++)
if ( D[i]==D[j] && B[i] > B[j] && R[i] > R[j] && L[i] > L[j] )
; B[i]+=B[j];R[i]+=R[j];L[i]+=L[j];
if ( D[i] > D[j] )
swap(D[i],D[j]);swap(B[i],B[j]);swap(R[i],R[j]);swap(L[i],L[j]);
我拥有要得到什么:
1 2 3 4
2 12 8 4
3 5 44 453
5 4 14 2
15 25 45 13
16 7 15 27
28 13 13 13
我得到了什么:
1 2 3 4
2 8 4 0
2 4 4 4
3 1 0 9
3 0 0 0
3 4 44 444
5 4 14 2
15 25 45 13
16 7 15 27
16 2 0 2
28 13 13 13
【问题讨论】:
【参考方案1】:嗯。我知道您有代表天数和蘑菇类型的数组。
我有一些步骤可以帮助你做出一些想法:
1) 使用结构体来表示记录,以减少数组的数量。
2) 实现一个函数,该函数通过它的 day 属性对该结构的数组进行排序。
3) 实现一个函数,该函数接受一个排序数组 (A1)(按上述函数排序),并在其中声明该结构的数组并在 A1 上循环并将其值分配到另一个数组中,如果 A1[i -1].day !=A1[i].day 如果你发现重复只是更新它的最后一个值,然后你循环返回函数中声明的数组。
希望这些步骤能给你一个提示。
【讨论】:
以上是关于在 dev-c++ 中将数组放在一起的主要内容,如果未能解决你的问题,请参考以下文章
在感知器学习模型的 Python 实现中将数组传递给 numpy.dot()