Вычисление выражения: Перевести из while в do while - C (СИ)
Формулировка задачи:
Помогите перевести цикл из while в do while. Когда перевожу, то функция выполняется, но значение выдает не такое, как при цикле while.
Я пытался переделать так:
ответ должен выходить -39
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <math.h>
main ()
{ clrscr();
float P=1, S=0, R, i=2.5, j=4.5;
while (i>-4.5)
{
P=P*pow((i+3),3);
while(j<7.5)
{
S=S+2*(i-j);
j+=0.5;
};
R=P+S; i-=0.5;
}
cout<<"REZ="<<R;
getch();
return 0;
}do
{
P=P*pow((i+3),3);
do
{ S=S+2*(i-j); j+=0.5;}
while (j<7.5);
R=P+S;
i-=0.5;
}
while (i>-4.5);
cout<<"REZ="<<R;Решение задачи: «Вычисление выражения: Перевести из while в do while»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main(int argc, char* argv[])
{
int i, j;
double sum, mul;
i = 25;
mul = 1.0;
while (i >= -45)
{
sum = 0.0;
j = 45;
while (j < 75)
{
sum += 2.0 *(i - j)/10.0;
j += 5;
}
mul *= pow((i/10.0 + 3.0), 3) + sum;
i -= 5;
}
printf("%10.3f\n", mul);
return 0;
}