24小时热门版块排行榜    

查看: 425  |  回复: 3

好好学习444

银虫 (小有名气)

[求助] c++语言可以选择定义数组吗? 已有2人参与

比如:
         if(j<4)
                 double pgroupr[18];               
        else if(j<6&&j>=4)
                double pgroupr[15];
        else if(j>=6)
                double pgroupr[12];                              
        for(int am=0;am<natom_g;am++)
        {                                  
                                                                                                                                 
                pgroupr[am]  = vec_distance(x[ (first_g_num -1)+ i*50+ am], new_ow);
                pgroupr[am+natom_g]= vec_distance(x[ (first_g_num -1)+ i*50+ am], new_hw1);
                pgroupr[am+2*natom_g]= vec_distance(x[ (first_g_num -1)+ i*50+ am], new_hw2);  
               
                //pgroupr[am+2*oxygen_num]= vec_distance(x[ (o_lipid[4] -3)+ i*50+ am],new_hw2);
        }       
函数部分,想实现如果进来的j  值不同就定义不同数组长度,可是没编译通过。有什么方法可以让我实现呢,帮忙看看实现if  else  语句那里定义根据不同的进来  j 值 。定义不同数组。把它们拆开来,可以。不知道大牛们有没有好的简洁方法啊。
        if(j<4)
                 double pgroupr[18];               
        else if(j<6&&j>=4)
                double pgroupr[15];
        else if(j>=6)
                double pgroupr[12];
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

说好努力的
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhenwuhuang

至尊木虫 (文学泰斗)

【答案】应助回帖

感谢参与,应助指数 +1
神一样的学问,不懂。此曲只有天上有,人间哪得几回闻
2楼2015-04-19 16:24:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zeppe

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
好好学习444: 金币+30, ★★★★★最佳答案, 谢谢了,思维短路了,忘记向量的push back可以自动扩展了,我是计算模拟,希望以后有问题可以向你请教一下!! 2015-04-19 19:03:51
建议楼主看一下std::vector这个类的用法。
CODE:
#include <iostream>
#include <vector>

int main()
{
    for (int j = 0; j < 10; ++j) // change j for test
    {
        size_t pgroupr_size;
        if (j < 4)
        {
            pgroupr_size = 18;
        }
        else if (j < 6 && j >= 4)
        {
            pgroupr_size = 15;
        }
        else if (j >= 6)
        {
            pgroupr_size = 12;
        }
        std::vector<double> pgroupr(pgroupr_size);

        std::cout << "j: " << j << ", vecsize: " << pgroupr.size() << std::endl;
    }

    return 0;
}

输出是pgroupr的size
j: 0, vecsize: 18
j: 1, vecsize: 18
j: 2, vecsize: 18
j: 3, vecsize: 18
j: 4, vecsize: 15
j: 5, vecsize: 15
j: 6, vecsize: 12
j: 7, vecsize: 12
j: 8, vecsize: 12
j: 9, vecsize: 12
3楼2015-04-19 17:01:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zeppe

金虫 (小有名气)

【答案】应助回帖

如果实在不想用std::vector,也可以直接定义。
CODE:
        size_t pgroupr_size;
        if (j < 4)
        {
            pgroupr_size = 18;
        }
        else if (j < 6 && j >= 4)
        {
            pgroupr_size = 15;
        }
        else if (j >= 6)
        {
            pgroupr_size = 12;
        }
        double pgroupr[pgroupr_size];

4楼2015-04-19 17:06:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 好好学习444 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 289求调剂 +12 硕星赴 2026-03-23 12/600 2026-03-25 18:41 by Ainin_
[考研] 求b区院校调剂 +4 周56 2026-03-24 5/250 2026-03-25 17:12 by yishunmin
[考研] 07化学303求调剂 +3 睿08 2026-03-25 3/150 2026-03-25 16:02 by allen-yin
[考研] 085602 289分求调剂 +7 WWW西西弗斯 2026-03-24 7/350 2026-03-25 14:28 by 3Strings
[考研] 085601求调剂总分293英一数二 +3 钢铁大炮 2026-03-24 3/150 2026-03-24 22:03 by bingxueer79
[考研] 307求调剂 +3 余意卿 2026-03-21 6/300 2026-03-24 15:03 by 余意卿
[考研] 一志愿华东理工大学081700,初试分数271 +5 kotoko_ik 2026-03-23 6/300 2026-03-24 10:29 by 学术搬砖er
[考研] 一志愿山东大学药学学硕求调剂 +3 开开心心没烦恼 2026-03-23 4/200 2026-03-24 00:06 by 开开心心没烦恼
[考研] 341求调剂(一志愿湖南大学070300) +5 番茄头--- 2026-03-22 6/300 2026-03-23 23:45 by Txy@872106
[考研] 384求调剂 +3 子系博 2026-03-22 6/300 2026-03-23 21:45 by 子系博
[考研] 一志愿上海交大生物与医药专硕324分,求调剂 +5 jiajunX 2026-03-22 5/250 2026-03-23 18:07 by YMU施老师
[考研] 070300,一志愿北航320求调剂 +3 Jerry0216 2026-03-22 5/250 2026-03-23 09:16 by 。。堂堂
[考研] 352求调剂 +3 大米饭! 2026-03-22 3/150 2026-03-22 23:28 by king123!
[考研] 293求调剂 +3 涛涛Wjt 2026-03-22 5/250 2026-03-22 22:21 by jiangpengfei
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
[考研] 336求调剂 +5 rmc8866 2026-03-21 5/250 2026-03-21 17:24 by 学员8dgXkO
[考研] 材料与化工(0856)304求 B区 调剂 +3 邱gl 2026-03-21 3/150 2026-03-21 13:47 by lature00
[考研] 265求调剂 +12 梁梁校校 2026-03-19 14/700 2026-03-21 13:38 by lature00
[考研] 22 350 本科985求调剂,求老登收留 +3 李轶男003 2026-03-20 3/150 2026-03-21 13:28 by 搏击518
[考研] 南京大学化学376求调剂 +3 hisfailed 2026-03-19 6/300 2026-03-20 23:43 by hisfailed
信息提示
请填处理意见