| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 533 人关注过本帖
标题:[求助]一段看不懂的代码
只看楼主 加入收藏
hanxuema
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-7-28
收藏
 问题点数:0 回复次数:6 
[求助]一段看不懂的代码

本人在看一段代码,这个代码大致的意思是说通过一个array转变成红篮绿三色的一种图片格式,程序挺长,一下的代码是一下断,是一个使文件编码杂乱的命令


void scramble(
int r[MMAX_ROWS][MMAX_COLUMNS],
int g[MMAX_ROWS][MMAX_COLUMNS],
int b[MMAX_ROWS][MMAX_COLUMNS],
int m[MMAX_ROWS][MMAX_COLUMNS],
int width, int height)
{
int i,j;
for (i=0;i<height;i++){
for(j=0;j<width;j++){
m[i][j] = 1+(int)((double)minInt(r[i][j],g[i][j],b[i][j])*rand()/(RAND_MAX+1.0));
r[i][j] ^= SCRAMBLE*m[i][j];
g[i][j] ^= SCRAMBLE*m[i][j];
b[i][j] ^= SCRAMBLE*m[i][j];
}
}
}

其中的m[i][j] = 1+(int)((double)minInt(r[i][j],g[i][j],b[i][j])*rand()/(RAND_MAX+1.0));
看不懂是什么意思,请哪位高手帮忙讲一下,或者整个程序稍微讲一下概念

如果通过上面这个代码,写一个功能相反的代码行吗?
void unScramble(int r[MMAX_ROWS][MMAX_COLUMNS],
int g[MMAX_ROWS][MMAX_COLUMNS],
int b[MMAX_ROWS][MMAX_COLUMNS],
int m[MMAX_ROWS][MMAX_COLUMNS],
int width, int height)
{
}

一个是scramble,需要写一个unscramble

谢谢各位

搜索更多相关主题的帖子: 代码 
2006-08-21 04:23
hanxuema
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-7-28
收藏
得分:0 
为什么没人回答?
2006-08-21 15:56
大水牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:233
专家分:0
注 册:2005-11-21
收藏
得分:0 
因为没人能看懂啊,和和

虽然现在的我什么都不明白,但总有一天,我将包容一切,让优秀变成一种习惯。。。。。。。。。。。。
2006-08-21 21:46
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-08-21 22:18
ミつン戀ン
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-8-21
收藏
得分:0 
代码太乱了.格式都不规范

2006-08-21 22:19
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用hanxuema在2006-8-21 4:23:12的发言:

本人在看一段代码,这个代码大致的意思是说通过一个array转变成红篮绿三色的一种图片格式,程序挺长,一下的代码是一下断,是一个使文件编码杂乱的命令


void scramble(
int r[MMAX_ROWS][MMAX_COLUMNS],
int g[MMAX_ROWS][MMAX_COLUMNS],
int b[MMAX_ROWS][MMAX_COLUMNS],
int m[MMAX_ROWS][MMAX_COLUMNS],
int width, int height)
{
int i,j;
for (i=0;i<height;i++){
for(j=0;j<width;j++){
m[i][j] = 1+(int)((double)minInt(r[i][j],g[i][j],b[i][j])*rand()/(RAND_MAX+1.0));
r[i][j] ^= SCRAMBLE*m[i][j];
g[i][j] ^= SCRAMBLE*m[i][j];
b[i][j] ^= SCRAMBLE*m[i][j];
}
}
}

其中的m[i][j] = 1+(int)((double)minInt(r[i][j],g[i][j],b[i][j])*rand()/(RAND_MAX+1.0));
看不懂是什么意思,请哪位高手帮忙讲一下,或者整个程序稍微讲一下概念

如果通过上面这个代码,写一个功能相反的代码行吗?
void unScramble(int r[MMAX_ROWS][MMAX_COLUMNS],
int g[MMAX_ROWS][MMAX_COLUMNS],
int b[MMAX_ROWS][MMAX_COLUMNS],
int m[MMAX_ROWS][MMAX_COLUMNS],
int width, int height)
{
}

一个是scramble,需要写一个unscramble

谢谢各位

m[i][j] = 1+(int)((double)minInt(r[i][j],g[i][j],b[i][j])*rand()/(RAND_MAX+1.0));
minInt()是宏还是函数?楼主应该说明清楚.至于解密,把原函数再执行一遍.
(Axor B)xor B=A.


对不礼貌的女生收钱......
2006-08-22 11:54
candc
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-8-19
收藏
得分:0 

应该是把自定义的图片格式中R,G,B数组的值转换为标准图形显示的值吧...

2006-08-22 19:38
快速回复:[求助]一段看不懂的代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025649 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved