Вычисление выражения: Перевести из while в do while - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите перевести цикл из while в do while. Когда перевожу, то функция выполняется, но значение выдает не такое, как при цикле while.
#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;
ответ должен выходить -39

Решение задачи: «Вычисление выражения: Перевести из 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы