版块导航
正在加载中...
客户端APP下载
论文辅导
调剂小程序
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(4755)
>
考研
(1735)
>
导师招生
(1318)
>
虫友互识
(288)
>
文献求助
(228)
>
硕博家园
(135)
>
休闲灌水
(128)
>
考博
(73)
>
招聘信息布告栏
(66)
>
基金申请
(64)
>
博后之家
(47)
>
绿色求助(高悬赏)
(35)
>
论文投稿
(30)
>
材料综合
(23)
>
攻关文献(高奖励)
(13)
>
金属
(12)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
C/C++
»
c++/c 求助关于多维数组里改变一个区域值
北京石油化工学院2026年研究生招生接收调剂公告
6
1/1
返回列表
查看: 1078 | 回复: 5
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
lbws328
新虫
(小有名气)
应助: 0
(幼儿园)
金币: 430.4
红花: 1
帖子: 134
在线: 58小时
虫号: 1729753
注册: 2012-03-31
专业: 金属材料的微观结构
[
求助
]
c++/c 求助关于多维数组里改变一个区域值
已有2人参与
如何用c++ 把数组里一个区域内得6个相邻的1变成0, 大于6个相邻的1不变。看图片
求大神给代码或思路,不要太难水平有限。。。
原始数据
相邻6个1变为0
回复此楼
» 猜你喜欢
288求调剂 一志愿哈工大 材料与化工
已经有31人回复
一志愿北京科技大学085601材料工程英一数二初试总分335求调剂
已经有5人回复
085801 总分275 本科新能源 求调剂
已经有17人回复
324求调剂
已经有6人回复
学硕化学工程与技术,一志愿中国海洋大学320+求调剂
已经有7人回复
材料调剂
已经有5人回复
初试301,代码085701环境工程,本硕一致,四六级已过,有二区一作,共发表5篇论文
已经有6人回复
化学308分调剂
已经有15人回复
346求调剂
已经有3人回复
环境285分,过六级,求调剂
已经有6人回复
1楼
2017-08-18 09:32:43
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
Mr__Right
专家顾问
(著名写手)
专家经验: +31
应助: 317
(大学生)
金币: 14456.3
散金: 500
红花: 54
帖子: 2716
在线: 950.6小时
虫号: 1972612
注册: 2012-09-04
性别: GG
专业: 应用数学方法
管辖:
程序语言
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与
2017-08-18 12:59:26
lbws328: 金币+150,
★
有帮助
2017-08-23 10:09:46
首先你要识数,那是一共9个,相邻的是8个。
然后,找到中心位置指标,
[i,j]
然后,根据指标增减的2^3=8种排列组合,全部赋值为0
赞
一下
(2人)
回复此楼
文章乃身外之物,要多考虑编辑、审稿人和读者的感受。
2楼
2017-08-18 11:00:47
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
imyourkobe
铁杆木虫
(著名写手)
应助: 26
(小学生)
贵宾: 0.126
金币: 7477
散金: 6
红花: 9
沙发: 3
帖子: 1688
在线: 459.5小时
虫号: 183723
注册: 2006-02-13
专业: 计算机软件
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
lbws328: 金币+150,
★
有帮助
2017-08-23 10:09:58
很容易的。用二维数组或容器来存储数据,写一个简单的算法判断六个连续的数据为1的个数累加。满足则修改。不满足继续判断下一组。
赞
一下
(1人)
回复此楼
3楼
2017-08-18 21:50:25
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
lbws328
新虫
(小有名气)
应助: 0
(幼儿园)
金币: 430.4
红花: 1
帖子: 134
在线: 58小时
虫号: 1729753
注册: 2012-03-31
专业: 金属材料的微观结构
引用回帖:
2楼
:
Originally posted by
Mr__Right
at 2017-08-18 11:00:47
首先你要识数,那是一共9个,相邻的是8个。
然后,找到中心位置指标,
然后,根据指标增减的2^3=8种排列组合,全部赋值为0
抱歉是我没说明白,我想问得是这连续9个值 *(形状不规则有3*3 还有2*3 各种各样)
从第一个1开始计算为1 第二个1为2第三个1为3 换行然后是4,5,6,换行,7,8,9
这样 小于等于9的,前面1,2,3,4,5,6,7,8,9全为0,大于9的值不变,我现在是 小于等于9的,前面1,2,3,4,5,6,7,8,9全为0这里不知道怎么办,求解答
赞
一下
回复此楼
4楼
2017-08-23 10:15:38
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
lbws328
新虫
(小有名气)
应助: 0
(幼儿园)
金币: 430.4
红花: 1
帖子: 134
在线: 58小时
虫号: 1729753
注册: 2012-03-31
专业: 金属材料的微观结构
引用回帖:
3楼
:
Originally posted by
imyourkobe
at 2017-08-18 21:50:25
很容易的。用二维数组或容器来存储数据,写一个简单的算法判断六个连续的数据为1的个数累加。满足则修改。不满足继续判断下一组。
抱歉是我没说明白,我想问得是这连续9个值 *(形状不规则有3*3 还有2*3 各种各样)
从第一个1开始计算为1 第二个1为2第三个1为3 换行然后是4,5,6,换行,7,8,9
这样 小于等于9的,前面1,2,3,4,5,6,7,8,9全为0,大于9的值不变,我现在是 小于等于9的,前面1,2,3,4,5,6,7,8,9全为0这里不知道怎么办,
赞
一下
回复此楼
5楼
2017-08-23 10:18:52
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
lbws328
新虫
(小有名气)
应助: 0
(幼儿园)
金币: 430.4
红花: 1
帖子: 134
在线: 58小时
虫号: 1729753
注册: 2012-03-31
专业: 金属材料的微观结构
引用回帖:
2楼
:
Originally posted by
Mr__Right
at 2017-08-18 11:00:47
首先你要识数,那是一共9个,相邻的是8个。
然后,找到中心位置指标,
然后,根据指标增减的2^3=8种排列组合,全部赋值为0
CODE:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <fstream>
#include <string>
#include <iostream>
#include <vector>
using namespace std;
struct Location {
double fai;
int *grain_number;
}num[1000000];
#define seed 40000 //粒子个数
bool main(){
int grain_num[seed], correction_num[seed], grain_size[seed],
divided_grain_count[seed], div_area,
grain_count, grain_sum, divided_grain_sum, cut_off,
grain_size_distribution[seed], max_grain_size, div_distribution;
double boundary_line, boundary_line1, boundary_line2;
int count, count2, meshx, meshy, meshX, meshY;
char fname[100];
FILE *datin0;
// 初期化
grain_count = 0, count2 = 0, grain_sum = 0, divided_grain_sum = 0, count = 0;
max_grain_size = 0;
for (int i = 0; i < seed; i++){
grain_num[i] = i;
correction_num[i] = i;
grain_size[i] = -1;
divided_grain_count[i] = -1;
grain_size_distribution[i] = 0;
}
// 指定文件夹和保存
char* file_name("C:\\testp.loc");
ofstream fout1("save1.xls");
ofstream fout2("save2.xls");
ofstream fout3("save3.xls");
ofstream fout4("save4.xls");
ofstream fout5("save5.xls");
boundary_line = 0.4; // 判断数值大小
cut_off = 0; // cut_off以下的不计算
// 边界设定
meshx = 1200;
meshy = 150;
meshX = meshx + 2; meshY = meshy + 2;
// 打开文件夹
std::ifstream fin;
fin.open(file_name, std::ios::in);
// 文件夹确认
if (!fin){
std::cout << " file open error! " << "\n";
return false;
}
if (!fout1){
cerr << "open error!" << endl;
exit(1);
}
if (!fout2){
cerr << "open error!" << endl;
exit(1);
}
if (!fout3){
cerr << "open error!" << endl;
exit(1);
}
if (!fout4){
cerr << "open error!" << endl;
exit(1);
}
if (!fout5){
cerr << "open error!" << endl;
exit(1);
}
//读入粒子
for (int i = 0; i<meshY; i++){
for (int j = 0; j<meshX; j++){
if (i <= 0 || i >= meshY - 1 || j <= 0 || j >= meshX - 1){
num[count].fai = 0;
count++;
continue;
}
else{
fin >> num[count].fai;
count++;
}
}
}
// 判断数值大小大于0.4等于1小于0.4等于0
count = 0;
for (int i = 0; i<meshY; i++){
for (int j = 0; j<meshX; j++){
if (num[count].fai < boundary_line)
{
num[count].fai = 0;
}
else{
num[count].fai = 1;
}
fout1 << num[count].fai << " ";
count++;
}
fout1 << endl;
}
// grain_number
count = 0;
for (int i = 0; i<meshY; i++){
for (int j = 0; j<meshX; j++){
if (i == 0 || i == meshY - 1 || j == 0 || j == meshX - 1){
num[count].grain_number = &grain_num[0];
count++;
continue;
}
else{
if (j == 1){
grain_count++;
}
num[count].grain_number = &grain_num[grain_count];
if (i > 1 && num[count - meshX].fai == 1. && num[count].fai == 1.){
grain_num[grain_count] = *num[count - meshX].grain_number;
}
if (num[count].fai == 0){
num[count].grain_number = &grain_num[0];
if (num[count + 1].fai == 1 && j>2 && j<meshX - 2){
grain_count++;
}
}
count++;
}
fout2 << num[count].grain_number << " "; //号码赋值
//cout << grain_count << " ";
}
fout2 << endl;
}
count = 0;
for (int i = 0; i<10; i++){
for (int j = 0; j<meshX; j++){
if (i == 0 || i == meshY - 1 || j == 0 || j == meshX - 1){
count++;
continue;
}
else{
if (num[count - meshX].fai == 1 && num[count].fai == 1){ //上下值为1 有phase
if (*num[count].grain_number < *num[count - meshX].grain_number){ //如果下面番号小于上面的番号
correction_num[*num[count - meshX].grain_number] = *num[count].grain_number;//把*num[count].grain_number的值赋给correction_num[*num[count - meshX].grain_number]
}
else{
correction_num[*num[count].grain_number] = *num[count - meshX].grain_number;//否则*num[count - meshX].grain_number赋给correction_num[*num[count].grain_number]
}
}
count++;
}
fout3 << *num[count].grain_number << " ";
}
fout3 << endl;
}
// 计算grain_size粒径大小
count = 0;
for (int i = 0; i<meshY; i++){
for (int j = 0; j<meshX; j++){
if (i == 0 || i == meshY - 1 || j == 0 || j == meshX - 1){
count++;
continue;
}
else{
grain_size[*num[count].grain_number] += 1;
count++;
}
fout4 << grain_size[*num[count].grain_number] << " ";
}
fout4 << endl;
}
//这里插入粒径长度小于9的小于等于0 大于9的值不变
// grain_sum 计算个数
count = 1;
while (count<seed){
if (grain_size[count] > cut_off){
grain_sum++;
if (grain_size[count] > max_grain_size){
max_grain_size = grain_size[count];
std::cout << "max = " << max_grain_size << "\n";
}
}
count++;
}
}
赞
一下
回复此楼
6楼
2017-08-23 10:19:55
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
lbws328
的主题更新
6
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
最具人气热帖推荐
[查看全部]
作者
回/看
最后发表
[
基金申请
]
请问共同通讯和共同一作的认可度问题
10
+3
psa1234
2026-04-01
4/200
2026-04-02 13:24
by
psa1234
[
考研
]
302求调剂一志愿华中师范大学
+3
小江小江江江
2026-04-02
3/150
2026-04-02 13:20
by
syh9288
[
考研
]
309求调剂
+7
呆菇不是戴夫
2026-04-02
7/350
2026-04-02 12:29
by
1753564080
[
考研
]
0856初试324分求调剂
+6
想上学求调
2026-04-01
6/300
2026-04-02 11:42
by
星空星月
[
考研
]
311求调剂
+9
勇敢的小吴
2026-04-02
9/450
2026-04-02 11:37
by
Sammy2
[
考研
]
085600,材料与化工321分调剂
+8
大馋小子
2026-03-27
10/500
2026-04-02 10:15
by
kaiyanjie
[
考研
]
考研调剂0702
+3
梅子味晚霞
2026-03-28
3/150
2026-04-02 10:10
by
jp9609
[
考研
]
一志愿北京科技,085601总分305求调剂
+9
半生瓜!
2026-04-01
11/550
2026-04-02 08:28
by
Wang200018
[
考研
]
英一数二生物信息学287分,本科生物科学,求调剂
+3
碧水xyz
2026-03-29
4/200
2026-04-01 15:35
by
plum
[
考研
]
求调剂
+4
图鉴212
2026-03-30
5/250
2026-04-01 15:32
by
图鉴212
[
考研
]
材料调剂
+11
一样YWY
2026-03-31
11/550
2026-04-01 11:35
by
wangjy2002
[
考研
]
070300求调剂306分
+5
26要上岸
2026-03-27
5/250
2026-04-01 11:09
by
oooqiao
[
考研
]
289求调剂
+7
BrightLL
2026-03-29
7/350
2026-03-31 22:05
by
544594351
[
考研
]
336材料求调剂
+10
陈滢莹
2026-03-26
12/600
2026-03-31 17:59
by
jp9609
[
考研
]
277跪求调剂
+8
1915668
2026-03-27
13/650
2026-03-31 14:58
by
王亮_大连医科大
[
考研
]
297 地理学070500 复试求调剂
+3
小圆圈圈ooo
2026-03-30
3/150
2026-03-30 21:05
by
余震yz
[
考研
]
材料专硕 085600求调剂
+7
BBQ233
2026-03-30
7/350
2026-03-30 17:44
by
oooqiao
[
考研
]
356求调剂
+4
gysy?s?a
2026-03-28
4/200
2026-03-29 10:32
by
唐沐儿
[
考研
]
复试调剂,一志愿南农083200食品科学与工程
+5
XQTJZ
2026-03-26
5/250
2026-03-27 14:49
by
狂炫麦当当
[
考研
]
调剂
+3
李嘉图·S·路
2026-03-27
3/150
2026-03-27 11:19
by
wangjy2002
信息提示
关闭
请填处理意见
关闭
确定