需要帮助来填充数组

时间:2019-09-17 15:07:45

标签: c

这种情况:我编写了一个程序,给定两个数组df <- tbl(conn, in_schema("schema", "table")) %>% filter(status!= "CLOSED" | is.na(status)) %>% group_by(customer_id) %>% filter(created == min(created, na.rm = T)) %>% ungroup() %>% select( contract_number, customer_id, approved_date = created ) %>% collect() r来计算坐标phi并以这种方式在文件上打印出来:

x,y,z

现在我需要将坐标视为数组 for(int i=0; i< sizeof(r)/sizeof(r[0]); i++){ for(int j=0;j< sizeof(phi)/sizeof(phi[0]);j++){ z=atan(theta)*r[i]*cos(phi[j]); y=r[i]*sin(phi[j]); x=r[i]*cos(phi[j]); fprintf(file,"%g \t %g \t %g\n", x,y,z)}} ,但是我找不到用当前程序填充数组的方法。问题是我找不到合适的方法来迭代坐标的索引:例如,如果考虑索引x[],y[],z[],我将在{{的第一次迭代中)获得i*j j次1}}等。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

为结果数组创建一个单独的计数器,并在内部循环的每次迭代中将其递增。

int k = 0;
for(int i=0; i< sizeof(r)/sizeof(r[0]); i++){
            for(int j=0;j< sizeof(phi)/sizeof(phi[0]);j++){
                  z[k]=atan(theta)*r[i]*cos(phi[j]);
                  y[k]=r[i]*sin(phi[j]);
                  x[k]=r[i]*cos(phi[j]);
                  fprintf(file,"%g \t %g \t %g\n", x[k],y[k],z[k])
                  k++;
             }
}