Премини към съдържанието

Препоръчан отговор


Здравейте,

Помогнете ми за грешките на играта.

Разцъквам я в този сайт https://www.codingame.com/ide/3573220967adfaab8209cdb67b716ce9b7dbd38

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
/**
 * Auto-generated code below aims at helping you parse
 * the standard input according to the problem statement.
 * ---
 * Hint: You can use the debug stream to print initialTX and initialTY, if Thor seems not follow your orders.
 **/
int main()
{
    int lightX; // the X position of the light of power
    int lightY; // the Y position of the light of power
    int initialTX; // Thor's starting X position
    int initialTY; // Thor's starting Y position
    cin >> lightX >> lightY >> initialTX >> initialTY; cin.ignore();
    int thorX = initialTX;
    int thorY = initialTY;
    // game loop
    while (1) 
    {
        int remainingTurns;
        cin >> remainingTurns; cin.ignore();
        string directionX = "";
        string directionY = "";
        if (thorX > lightX) 
        {
            directionX = "W";
            thorX--;
        } 
        else if (thorX < lightX) 
        {
            directionX = "E";
            thorX++;
        }       
        if (thorY > lightY) 
        {
            directionY = "N";
            thorY--;
        } 
        else if (thorY < lightY) 
        {
            directionY = "S";
            thorY++;
        }       
        cout << directionY << directionX << endl;
    }
    while (true) 
    do{
	int remainingTurns;
	string directionX = "";
	string directionY = "";
	if (thorY > lightY)
	{
		directionY = "N";
		thorY--;
	}
	else if (thorY < lightY)
	{
		directionY ="S";
		thorY++;
	}
	end if
	if (thorX > lightX)
	{
		directionX ="W";
		thorX--;
	}
	else if (thorX < lightX)
	{
		directionX = "E";
		thorX++;
	}
	end if
	cout<< directionY << directionX<< endl;
	
}
}

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Като първо, имаш два еднакви последователни цикъла без условие за прекратяване, т.е. безкрайни. Това очевидно е погрешно.

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Няма връзка между двата цикъла или поне аз не виждам.

 

Вече тъй ги пиша аз

#define forever for (;;)

.............................................

forever

{

...................

}

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход


  • Горещи теми в момента

  • Подобни теми

    • от HelloWorld
      Здравейте,
      Някой може ли да помогне с презаписването на масив в друг масив, т.е входните данни се записват в даден масив, но след това трябва да се прехвърлят на друг в отделна функция. 
    • от ValentinMitev1
      Здравейте!
      Трябва да направя програма на анимиран дигитален часовник в c++(graphics.h). Целта е числата да се променят анимирано-  да се показват отдолу и да се скриват горе (флип часовник).  Ще съм благодарен, ако някой може да ми помогне.
       
    • от Магдаленаг
      Здравейте!
      Please accept the challenge
      Зададена ми е следната задача:
      Дадени са две големи цели числа N1 и N2(до 100 цифри). Да се напишат програмни фрагменти за:
      а) представяне на числата чрез списъци;
      б) сравнение на двете числа и отпечатване на резултата - N1>N2 или N1<N2.
      Упътване: Големи числа се наричат цели положителни числа с К цифри, където К>255. Големите цели числа могат да се представят с помощта на линеен едносвързан списък, всеки елемент на който съдържа точно една цифра от числото.
      Език: С++
      Компилатор: Windows Visual Studio C++
      Благодаря предварително!
    • от windowsv
      Добър вечер! Задачата ми е следната: имам динамичен масив от обекти-градове с надморска височина, географска дължина и ширина. Сортирам ги по метода на мехурчето по географската дължина/от запад на изток/ и извеждам сортираните дължини във възходящ ред. Проблемът е,че в самото извеждане трябва да ми излизат сортирани градовете по имена, а не само техните дължини. Понеже член-данните са ми в секция private, няма как в main() да ги достъпя /пробвах с метод на класа, връщащ само географската дължина и така да направя сортирането, но не се получава/ и затова създадох втори масив само за дължините. Преподавателката ми каза, че трябва да имам конструктор за копиране и да предефинирам операция равно. Последните две неща мога да ги направя, но не мога да схвана идеята как това се включва в моята програма.Ето кодът ми:
      #include "stdafx.h"
      #include<iostream>
      #include<math.h>
      using namespace std;

      class City{
      private: char *name;
      double width;
      double length;
      double height;
      public:
      void Input();
      void Output();
      City();
      ~City();
      double GetLength();
      };
      City::City()
      {
      char ime[20];
      cout << "Name= ";
      cin >> ime;
      name = new char[strlen(ime) + 1];
      for (int i = 0; i <=strlen(ime); i++)
      name = ime;

      cout << "Width= ";
      cin >> width;
      cout << "Length= ";
      cin >> length;
      cout << "Height= ";
      cin >> height;
      }
      void City::Input()
      {
      char ime[25];
      cout << "Input name of city:" << endl;
      cin >> ime;
      name = new char[strlen(ime) + 1];
      for (int i = 0; i < strlen(ime); i++)
      {
      name = ime;
      cout << name;
      }
      cout << "Input height of city " << endl;
      cin >> height;
      cout << "Input length of city " << endl;
      cin >> length;
      cout << "Input width of city " << endl;
      cin >> width;



      return;
      }
      void City::Output()
      {
      cout << "Name is: " << name << endl;
      cout << " Width is: " << width <<" deg"<< endl;;
      cout << " Length is: " << length << " deg"<<endl;
      cout << " Height is: " << height <<" m"<<endl;
      return;
      }
      City::~City()
      {
      cout << " " << endl;
      cout << "Destructor of City!" << endl;
      delete[] name;
      }
      double City::GetLength()
      {
      return length;
      }
      int main()
      {
      //City town;

      //town.Input();
      //town.Output();
      int n;
      City *mA;
      cout << "Input number of cities: " << endl;
      cin >> n;
      mA = new City[n];
      for (int j = 0; j < n; j++)
      {
      mA[j].Output();
      }
      cout << "Cities from west to east, sorted by their length" << endl;
      double *Lengths = new double[n];
      for (int j = 0; j < n; j++)
      {
      Lengths[j] = mA[j].GetLength();

      }


      int k = 0;//counter
      double max = Lengths[0];
      for (int j = 1; j < n; j++)
      {
      if (Lengths[j - 1] >Lengths[j])
      {
      max = Lengths[j - 1];
      Lengths[j - 1] = Lengths[j];
      Lengths[j] = max;
      }
      }


      for (int j = 0; j < n; j++)//cycle for output
      {
      cout << Lengths[j] << "\n";
      }


      delete[]mA;
      return 0;

      }
      Моля за някакви насоки ако е възможно стигнал съм до задънена улица. Пробвах с указатели, все не се получава.
       
    • от Nero AN
      Здравейте, някои може ли да ми помогне с тази задача?
      Благодаря предварително!
      Задачата е следната:

  • Разглеждащи в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Дарение

×

Информация

Този сайт използва бисквитки (cookies), за най-доброто потребителско изживяване. С използването му, вие приемате нашите Условия за ползване.