首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将用户确定的坐标分配给嵌套数组

将用户确定的坐标分配给嵌套数组
EN

Stack Overflow用户
提问于 2014-03-12 01:53:51
回答 1查看 52关注 0票数 0

我有两个整数,range1range2,以及嵌套的整数数组距离

我还有两个整数数组,elasticity[]resistance[],它们都包含一组用户确定的值。前面提到的elasticity[]range1等于的长度,range2则等于range1的长度。

我要做的是将 trying 中的每个位置设置为特定的“坐标”。例如,假设range1 =2和range2 = 3:

代码语言:javascript
复制
    distance[0][0] = elasticity[0] * resistance[0];
    distance[0][1] = elasticity[0] * resistance[1];
    distance[0][2] = elasticity[0] * resistance[2];
    distance[1][0] = elasticity[1] * resistance[0];
    distance[1][1] = elasticity[1] * resistance[1];
    distance[1][2] = elasticity[1] * resistance[2];

以此类推。显然,我不能使用上面的示例,因为range1和range2的值是用户输入elasticity[]和resistance[]的结果,所以每次程序运行时都可能有所不同。我尝试使用嵌套的for循环,如下所示:

代码语言:javascript
复制
    int distance[range1][range2];

    for(int i = 0; i <= range1; i++)
    {
        for(int j = 0; j <= range2; j++)
        {
            distance[i][j] = elasticity[i] * resistance[j];
        }
    }

据我所知,这是可行的,但Xcode只是向我吐出了运行时错误。

无论如何,我不知道我能做些什么来解决这个问题;程序应该从用户那里获得三个值(最小+最大阻力值,以及弹性的增量大小),以便计算出弹丸的最大距离,并以表格的形式输出结果。

帮助!

EN

回答 1

Stack Overflow用户

发布于 2014-03-12 08:33:51

首先,如果使用普通C,则需要为矩阵维度提供常量值(需要为range1range2设置最大值,例如:

代码语言:javascript
复制
int distance[200][200];

这意味着range1range2的最大值为200。

然后,在循环条件下,需要考虑数组索引是基于0的。因此,如果数组中有4个元素,则它们的索引将为0、1、2和3。

因此,您需要像这样修改代码:

代码语言:javascript
复制
for(int i = 0; i < range1; i++)
{
    for(int j = 0; j < range2; j++)
    {
        distance[i][j] = elasticity[i] * resistance[j];
    }
}

所以索引总是小于数组维度的

我希望这能帮到你。干杯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22340443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档