RV2020 Ответов: 1

Название удалено, чтобы предотвратить злоупотребление


Эй...
Не могли бы вы помочь мне преобразовать следующий Java - код в C++?

var a, b, c, d, s : int
var nikkySteps, nikkyDistance : int
var byronSteps, byronDistance : int
var next, sgn : int

get a, b, c, d, s

nikkySteps := 0
nikkyDistance := 0
next := a
sgn := 1
loop
    exit when nikkySteps + next >= s
    nikkySteps := nikkySteps + next
    nikkyDistance := nikkyDistance + sgn * next
    if sgn = 1 then
	next := b
    else
	next := a
    end if
    sgn := sgn * -1
end loop
nikkyDistance := nikkyDistance + sgn * (s - nikkySteps)

byronSteps := 0
byronDistance := 0
next := c
sgn := 1
loop
    exit when byronSteps + next >= s
    byronSteps := byronSteps + next
    byronDistance := byronDistance + sgn * next
    if sgn = 1 then
	next := d
    else
	next := c
    end if
    sgn := sgn * -1
end loop
byronDistance := byronDistance + sgn * (s - byronSteps)

if nikkyDistance > byronDistance then
    put "Nikky"
elsif nikkyDistance < byronDistance then
    put "Byron"
else
    put "Tied"
end if




Спасибо

Что я уже пробовал:

#include <iostream>
using namespace std;

int main() {
	int a,b,c,d,s
        int nikkySteps, NikkyDistance
        int byronSteps, byrinDistance
        int next, sgn
        cin >> a;
        cin >> b;
        cin >> c;
        cin >> s;
        cin >> d;
        int nikkySteps = 0;
        int nikkyDistance = 0;
        int next = a;
        int sgn = 1;
*confused*
        nikkySteps = nikkySteps + next;
        nikkyDistance = nikkyDistance + sgn * next;
        if (sgn = 1 ){
           next = b
        } else {
           next = a
        }
        sgn = sgn * -1
*confused*
nikkyDistance = nikkyDistance + sgn * (s = nikkySteps);

int byronSteps = 0
int byronDistance = 0
int next = c
int sgn = 1
*confused"
        byronSteps = byronSteps + next;
       byronDistance = byronDistance + sgn * next;
        if (sgn = 1 ){
           next = d
        } else {
           next = c
        }
        sgn = sgn * -1
byronDistance = byronDistance + sgn * (s - byronSteps)
if (nikkyDistance > byronDistance ) { 
        cout << "Nicky" << endl;
} else if (nikkyDistance < byronDistance ) {
        cout << "Byron" << endl;
} else {
        cout << "Tied" << endl;
}
	return 0;
}

CPallini

Это PL/SLQ, а не Java, не так ли?

David_Wimbley

The := дает мне delphi flashbacks

Maciej Los

Согласитесь!

RV2020

прости!

1 Ответов

Рейтинг:
9

Maciej Los

Вы должны понимать, что делает приведенный выше код. И вы должны переписать его с нуля!

Если вам лень, вы можете воспользоваться онлайн-конвертером. Примечание: это не Java, это Delphi. Список доступных конвертеров вы найдете здесь: Преобразование кода .NET - преобразование вашего кода[^]