【问题标题】:Rename line/elements in C重命名 C 中的行/元素
【发布时间】:2017-11-25 15:05:15
【问题描述】:

我正在用 C 编程,我需要一些帮助: 我有一个二维向量(n 行,2 列),每行代表一个元素的坐标,我想放入一个更大的二维向量,比如战舰。是否可以为每一行命名?例如,如何将名称 X 赋予较小向量的第一个元素?

我要做的是:vector中的元素代表一个更大vector中元素的坐标,所以每一行代表一个元素。我立即比较,如果它们是邻居并且其中一个是“X”,那么另一个也成为“X”元素。 类似的东西:

enter code here
int x,y;
for(int a=0; a<nbE; a++)                         
   {    
    for(int i=1; i<n;i++)                      
       {
           x=vector[a][0]-vector[i][0];

                   if((x==1)||(x==-1)||(x==0))
          {
            y=vector[a][1]-vector[i][1];

            if( (y==1)||(y==-1)||(y==0))
              { 
                if (vector[a]="X")             *That's the point*
                   vector[i]="X";
              }  
          }     
       }          
   .......
   }

【问题讨论】:

  • 如果你用c编程,使用c标签,如果你用c#编程,使用c#标签。这些是完全不同的语言。
  • 你对指针很熟悉吧?
  • 请添加一个最小的完整可验证示例
  • @JHBonarius 使用[mcve] 快速链接:minimal reproducible example
  • 对不起,我是新来的,现在可以了吗?

标签: c


【解决方案1】:

但是,在 C 语言中,这是不可能直接实现的。

确实存在一种棘手的(因此推荐)方法:

#define X (vector[0][0])

现在您可以在任何地方使用X 来模仿vector[0][0]

如果您将项目迁移到 C++,则可以使用参考,这提供了一种自然的方式。

【讨论】:

  • 这是唯一的解决方案吗? @iBug
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-14
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
  • 1970-01-01
相关资源
最近更新 更多