Информатика, вопрос задал Аноним , 2 года назад

Необходимо перевести код Pascal на C ++

Uses crt;
Var X,X1,X2,X3:real; {Х – вес пирожного,
Х1,Х2,Х3 – вес Тоостунов}
N,Counter : integer; {N – количество пирожных, что
съел первый Толстяк;
Counter – общее количество
съеденных пирожных}
Begin
Clrscr;
Write(‘Введите вес пирожного: ’);
Readln(Х);
Write(‘Введите вес Толстяков (соответственно первого,
второго и третьего): ’);
Readln(X1, X2, X3);
Write(‘Введите количество пирожных, что съел первый
толстяк ’);
Readln(N);
If (X<=0)or(X1<=0)or(X2<=0)or(X3<=0)or(N<=0)
Then writeln(‘Ложные входные данные’)
Else
Begin
Counter:=N; {Съел первый Толстяк}
If N*2*X<=X2/2
Then Counter:=Counter+2*N
Else Counter:= Counter+ trunc(X2/2/X);
If N*4*X<=X3/2
Then Counter:=Counter+4*N
Else Counter:= Counter+ trunc(X3/2/X);
Writeln(‘Количество съеденных пирожных составляет: ’,
Counter);
End;
Readkey;
End.
Задача:Трем толстякам подали на десерт кремовые пирожные. Масса одного пирожного составляла х кг, а
масса толстяков соответственно х1, х2 и х3 кг. Первый толстяк съел n пирожных. каждый последующий
толстяк съедал два раза больше, чем предыдущий, но при этом все они не могли съесть больше,
половины их собственного веса. Сколько пирожных съели толстяка?

Ответы на вопрос

Ответил pz4t9v0d4tly
0

#include <iostream>

using namespace std;

int main() {

a:

int multiplier = 1;

float weightCake = 0;

float t1(0), t2(0), t3(0);

float t1Cakes(0), t2Cakes(0), t3Cakes(0);

cout << "Weight of cake, fat people 1-3: ";

cin >> weightCake; cin >> t1; cin >> t2; cin >> t3;

if(t1<0||t2<0||t3<0||weightCake<0) {

 cout << "wrong data" << endl;

 goto a;

}

while(1) {

t1Cakes = multiplier * weightCake * 1;

if(t1Cakes > t1/2) {

    cout << multiplier - 1;

    break;

}

t2Cakes = multiplier * weightCake * 2;

   if(t2Cakes > t2/2) {

 cout << multiplier - 1;

    break;

   }

t3Cakes = multiplier * weightCake * 4;

   if(t3Cakes > t3/2) {

    cout << multiplier - 1;

    break;

   }

++multiplier;

}  

}

Новые вопросы