C++ 角色扮演5球在线裁判

C++ 角色扮演5球在线裁判,c++,C++,这是sphere online judge的一个编码问题,我没有得到这个代码的正确输出,我知道为什么,只是想问一下使用goto(x,y)是否有助于纠正这个问题的输出。每个环路后的cusor位置导致不期望的输出。有人能提出一个纠正的方法吗 这是问题所在 问题 使用两个字符:。(点)和*(星号)打印网格状图案。网格将有l行、c列,网格的每个方形元素的高度和宽度将等于s 此外,每个网格元素将有一个对角线。网格第一行中第一个正方形的对角线指向下角和右角-使用\(反斜杠)字符打印;下一条对角线将指向右上角

这是sphere online judge的一个编码问题,我没有得到这个代码的正确输出,我知道为什么,只是想问一下使用goto(x,y)是否有助于纠正这个问题的输出。每个环路后的cusor位置导致不期望的输出。有人能提出一个纠正的方法吗

这是问题所在

问题

使用两个字符:。(点)和*(星号)打印网格状图案。网格将有l行、c列,网格的每个方形元素的高度和宽度将等于s

此外,每个网格元素将有一个对角线。网格第一行中第一个正方形的对角线指向下角和右角-使用\(反斜杠)字符打印;下一条对角线将指向右上角-使用/(斜杠)字符打印它。交替打印连续的对角线(请参考下面的示例)。 输入

给你t-测试用例的数量,每个测试用例有三个正整数:l-行数,c-网格中的列数,s-单个方形元素的大小。 输出

对于每个测试用例,输出所请求的模式(请查看示例)。在连续图案之间使用一个换行符

范例 输入: 3. 3 1 2 4 4 1 2 5 2

输出:

****
*\.*
*.\*
****
*./*
*/.*
****
*\.*
*.\*
****

*********
*\*/*\*/*
*********
*/*\*/*\*
*********
*\*/*\*/*
*********
*/*\*/*\*
*********

****************
*\.*./*\.*./*\.*
*.\*/.*.\*/.*.\*
****************
*./*\.*./*\.*./*
*/.*.\*/.*.\*/.*
****************
这是我的密码

 #include<iostream>
   using namespace std;

int main()
{
  int i,j,k,l,c,s,t;
  void basic(int,int,int);
     cin>>t;
      k=0;
     while(k<t)
     {
       cin>>l>>c>>s;
       for(i=1;i<=l;i++)
       {
         for(j=1;j<=c;j++)
         {
          basic(i,j,s); 
          }
          cout<<"\n";
       }

       k++;
     }
}


 void basic(int i,int j,int s)
 {
    int m,n,x,p,q;


    x=s+2;

    if(j==1)
        p=0;
       else
        p=1;

    if(i==1)
        q=0;    
     else   
        q=1;


        for(m=q;m<x;m++)
         {


           for(n=p;n<x;n++)
             {  

                if(m%(x-1)==0||n%(x-1)==0)
                  cout<<"*";
                else
                  {
                    if((i+j)%2==0)
                     {
                       if(m==n)
                         cout<<"\\";
                       else
                          cout<<".";
                     }

                     else
                     {
                        if((m+n)%(x-1)==0)
                          cout<<"/";
                         else
                           cout<<".";

                     }



                   }

             } 

             cout<<"\n";
         }



 }`
#包括
使用名称空间std;
int main()
{
inti,j,k,l,c,s,t;
void basic(int,int,int);
cin>>t;
k=0;
而(k>l>>c>>s;

对于(i=1;i使用什么
goto(x,y)
?您是否尝试过在调试器中逐行遍历代码以查看它真正的功能?
goto(x,y)在标准C++中,没有这样的函数。@ sRISHTi7714,因为你不能应用i==j,i+j==s+1,对于所有的情况,把2D数组看作字符单元。你是说你不能确定哪个字符在哪里?我知道逻辑现在可能不明显,但是它可以做。唯一的区别是你目前正在使用。屏幕显示为您的“网格”。@srishti77714此外,当您看到一个字符串一个字符地构建(当您使用调试器时),然后摆弄新行、光标定位等时,调试要容易得多。下载任何免费的编译器(Visual Studio Express、MingW通过代码块等)然后在那里编译你的程序。然后使用编译器附带的调试器逐步调试你的代码。一旦完成,然后将程序提交给法官。如果你只是在法官的文本区域键入代码并进行编译,那么这只不过是一种希望和祈祷的方式来实现这一点。