Консультация № 192263
28.12.2017, 14:34
0.00 руб.
0 3 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

Возникла проблема в решении задачи , так как я новичок
Вот задание , дано вещественное число A и целое число N (> 0). 1 – A + A2 – A3 + ... + (–1)NAN.
Решал похожее , но так со знаками проще было

Приложение:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
double A;
int N;
int p;

cout << " Введите значение N (N > 0): ";

do
{
cin >> N;
} while (((N < 0) || (N == 0)));

cout << endl << " Введите значение A: ";

cin >> A;

int i = 0;

double res = (1 + (N / A));

int x = 2;

while (i != N)
{
res += (N / (A * x));

x++;

i++;
}

cout << endl << setprecision(12) << " " << res << endl << endl;

return 0;
}

Обсуждение

давно
Посетитель
401661
1
28.12.2017, 14:36
общий
4. Дано вещественное число A и целое число N (> 0). Вывести 1 – A + A2 – A3 + ... + (–1)NAN.
давно
Посетитель
7438
7205
28.12.2017, 14:55
общий
это ответ
Здравствуйте, Anoragami!
Можно сделать, например, так:
Код:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");

double A, x, res;
int N, i;

do
{
cout << " Enter N (N > 0): ";
cin >> N;
} while (N <= 0);

cout << endl << " Enter A: ";

cin >> A;


for (i=1,x=res=1; i<=N; i++)
{
x *= (-1)*A;
res += x;
}

cout << endl << setprecision(12) << " " << res << endl << endl;

return 0;
}
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Старший Модератор
312929
1973
28.12.2017, 15:33
общий
28.12.2017, 15:34
Адресаты:
Последний цикл можно записать в виде
Код:
for (x=res=i=1; i<=N; i++)
res += x *= -A;

но и так, как есть, тоже хорошо.
Форма ответа