C/C++

С++ Прошу помочь с задачей

Вкладчик положил на счет некоторую сумму денег N, под P процентов на К лет. Заполнить массив суммами ежегодного увеличения вклада. Подсчитать сумму полученных процентов.
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std; int main()
{ double N, P, s = 0., S; int i, K; cout << "N P K: "
<< setprecision(2) << fixed; cin >> N >> P >> K;
S = (pow(1. + P * 0.01, K) - 1.) * N;
double *p = new double [K]; for (i = 0; i < K; i++)
{ p[i] = N * P * 0.01; N += p[i]; cout << setw(3)
<< i + 1 << ") " << p[i] << endl; s += p[i]; }
cout << "Sum of Percents:\n" << s << " (" << S
<< ')' << endl; delete [] p; cin.get(); cin.get();
return 0; }
Пример: кладём на счёт 120 тысяч, формируем требуемый массив накопленных процентов за каждый финансовый год по отношению к имеющейся сумме и выводим его на экран. Процентов в год пусть будет пять с половиной, а количество лет - двадцать. И вот что получается:В конце выводится сумма полученных процентов, а для сверки - та же сумма, рассчитанная по формуле сложного процента: N•((1+P•0,01)^K-1). Как видно, обе эти суммы совпадают. А всего итоговый счёт после двадцати лет хранения денежных сбережений окажется в размере 350130,90, но его, вроде, выводить не надо...
TI
Tural Ismailov.
66 572
Лучший ответ
 #include  
#include
using namespace std;
double func(unsigned n, double p) {
return n + n * p / 100.0;
}
int main() {
cout > n;
cout > p;
cout > k;
vector box(k);
box[0] = func(n, p);
for (size_t i = 1; i < k; ++i) box[i] = func(box[i - 1], p);
const auto income = box.back();
const auto percent = (income / n - 1.0) * 100.0;
cout.setf(ios::fixed);
cout.precision(2);
cout
Михаил Рудаков
Михаил Рудаков
78 132