Я попытался создать алгоритм, который подсчитывает, сколько чисел делится без остатка. Код работает, но каждый раз, когда я запускаю его, я получаю «мусорные» цифры в своем выводе. Я использую динамические массивы для решения проблемы.
#include <iostream>
using namespace std;
int main()
{
int N = 30;
int *data = new int [N];
for (int i = 0; i < 100; i++)
{
for (int c = 1; c < N; c++)
{
if (i % c == 0)
{
data[c] += 1;
}
}
}
for (int k = 1; k < N; k++)
{
cout << data[k] << endl;
}
delete [] data;
}
Я ожидал получить, по крайней мере, то, что говорит C ++ Shell: http://cpp.sh/6xtc
100
50
34
25
20
17
15
13
12
10
10
9
8
8
7
7
6
6
6
5
5
5
5
5
4
4
4
4
4
, но получил в разных IDE один и тот же результат:
100
11932994
34
25
20
17
15
13
12
620757039
37045
11951945
8
11927896
7
7
7290
158
6
5
5
570425383
37040
11951941
4
11927892
4
1835102827
859059803