下沙论坛

 找回密码
 注册论坛(EC通行证)

用新浪微博连接

一步搞定

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 3122|回复: 4
打印 上一主题 下一主题

〓〓救命啊,懂计算机的人帮帮我啊〓〓

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2005-6-15 20:36:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
谁能帮我CRC算法编程实现换个算法啊??帮忙啊6 I) ^. W) l& X4 p8 M$ p
#include9 h3 P% ?+ U% n+ x! M0 ^
#include
/ F6 L: M6 h  I# r* [) x  {. H& p/ O#include) X( Y/ \' R3 Y, l! C: v
#define CRC 55 V% J) S% P3 ?+ O5 R6 b: E
char data[5]={'1','1','0','0','1'};: }! ^4 w7 @# a; d9 [6 p
class Checkout# f/ A0 b4 |! w+ o$ B
{4 Q& ]) S- e/ V7 @. ^
private:# m- ~. i0 c7 L6 J* I5 A  v
char ax[50];
# b$ a% ]4 e8 O char bx[4];" V" A0 N  S0 x4 {
int x;
4 r/ t* m+ H/ t6 y  W1 Zpublic:8 n; k2 n# {1 L& O
int length;7 S1 R7 c  Q3 i/ f  {* O- c4 m
Checkout()2 P8 q  }1 d5 o; M& H
{  9 c4 F6 Q. k: z7 c+ ]- C& @( t3 @
  cin>>ax;2 c2 r* ]& a' o' n% @0 q9 C
  length=strlen(ax);  f/ b: b+ P/ q7 K
}
% \$ m( H% ^/ R8 T& H$ y6 G void cxc();
: _5 z' u' x: K8 B# f bool qyu();
/ D8 k) i) R( b$ c+ R1 T4 @ void add();; e: r5 B: [& u$ f) K+ z
};
0 F' W# N, y* p: I* ~' |) Qvoid Checkout::cxc()  H! ^  b+ D# f& D' [
{4 W; _" m: g' m3 L
for(int i=0;i<4;i++){% h) G( R2 K* o  ^  g
  ax[length+i]='0';
8 N8 B+ Q" T, q6 b' e& F  V }
( {, U; D# b+ D: x6 [3 u}//将输入序列后加4个0
& ~5 X: ~# C4 F; Y' h. w& @0 [+ M' M5 U$ Kbool Checkout::qyu()) U1 i8 W* t6 W  E# }" w
{/ W+ w9 c9 D! Y" a! q
char c[5];
$ h) d( n2 }3 P int i,j,n;, g* L8 F5 A: E' a* j
int m=5;
  L8 {+ p9 T0 T) v for(i=0;ax<i>=='0';i++);1 o/ f! A* s9 T/ ]' a
  if(i==length)
2 C( N  @; c( ]' \2 K  y  {cout<<"余式是0"<<endl;) K  e* n- K- z/ F" y6 g$ g4 V
   cout<<"发送成功"<<endl;
+ z1 T% \$ O  D2 C% C/ ^' U   exit(0);
4 g# S; T9 s& T/ a1 M  }. h; i& T, c5 K
else{
! ~7 }8 z- `- | for(i=0;i<5;i++)
& x  L- A0 O7 i  c<i>=ax<i>;. L9 j4 `& m% R! p7 h' q' I$ v" S
while(m==CRC)! ]9 D1 j: ~& j" ~# [# f9 H3 j
{ for(j=0;j<CRC;j++)2 ^+ {: L! h% J! b4 f0 n
   {
* x5 }; _$ k% q; z+ i6 d( [3 f8 I                if(c[j]==data[j])3 c& s; p/ R9 u- _, F
     c[j]='0';
+ n) C: D7 v( b( d* y    else
9 U6 |) \/ K/ x& f' G" h8 _0 W+ O     c[j]='1';
7 B) R$ ~) [' _; i1 n2 q4 g   }
4 u$ n9 ^0 r: n$ D* _# D     for(j=0;c[j]=='0';j++);; c. S. Z3 a+ U; D* ^; Y9 c
       n=j;0 I; Y3 G2 p) S6 b# U: \! X% |
     for(m=0;m<CRC-n;m++)
( ]1 N0 c* n% T     {
. Z' z4 _9 i4 t& L    c[m]=c[j];
* H3 i6 @3 c% A    j++;# w+ c- ~. e" M! l& q
   }
8 j' t  C2 A5 e' n           while(i<length&&m<5), w4 @- L' Z3 T& c
   {
- l5 F0 y- r6 _& w        c[m]=ax[i++]; / }; N; R" R0 \6 ~2 H
     m++;       * X2 K, S4 K1 |( k
   }9 o7 v, d4 \- F1 f! r/ w" V
}% z( g8 ^9 O6 G* ~2 Z4 Q; l
}
* R% l$ q) U$ a2 H int k;
( p# g: K/ C2 F  [" E/ p for(k=0;k<m;k++)
* L9 m' h6 y( p/ X/ H/ I4 }" }  bx[k]=c[k];
1 ?$ H5 V, }% ^7 d6 w for(j=0;bx[j]=='0';j++);4 C) W5 h6 E: `8 ]9 O/ d2 w
  if(j==m)
( M5 c' ?+ k* e" k* s6 c7 R; c  {cout<<'0'<<endl;
- l" z; b. e  T9 M$ }/ H   x=0;$ q6 I/ b. {2 @
  return true;% s8 w* q- q; L+ F! I. a
  }9 r2 z" k8 K; S! L( Z2 R, q
  else
. G# D) A3 \# m% F/ M  {for(n=j;n<m;n++)
' B4 G2 h: s& v  O     cout<<bx[n];0 B5 L# `1 h, A( p' b; w
  x=m-j;
$ H5 ]2 f5 U! o$ \* U  cout<<endl;
1 Q( u5 e8 W7 u9 ^4 `: u  return false;8 }  b  W9 T/ ]/ ]+ P' f, F
  }
3 a! ?* T* N* A# Y0 C; T6 O, k}! ~( m2 v! o/ \4 F* I7 w
void Checkout::add()) A+ ~  D/ N% \/ a3 L
{
  \2 A6 v. v5 p+ fint j=0;9 o# B3 a. {, p* U
  for(int i=length-x;i<length;i++)- E! t- n( F2 s7 {
    ax<i>=bx[j++];! M$ i9 ~5 V% s4 Z
  cout<<"发送的序列加上余数后变成:";
# {% \; u$ l- d) m8 ^$ V for(i=0;i<length;i++)
6 h6 @) Z4 L7 o# j  cout<<ax<i>;& m1 O0 n3 C2 ~8 k; D7 j
cout<<endl;
* G2 W, f* ~3 U4 K  p' w: k}% d% K+ A0 ?0 v& s+ w' W" H
void main()
" b- E) v# D0 ~/ r* v' n! Y{  
: D3 ]) E0 a! ]' X$ z cout<<"本次实验模拟CRC校验,其生成多项式的比特序列是11001"<<endl;
' {" K& c9 O; [& H+ R7 T    cout<<"请输入发送数据比特序列:"<<endl;
% k& Z+ O9 N* _0 o$ J0 F4 t Checkout test;- o$ }; |/ G/ F/ q$ p% L; W; e: }: g2 g  I
test.cxc();: e, R( F  P( b  O& _
  cout<<"余式比特序列是:";
1 E; `4 ~  g' _9 x  test.qyu();; L% S1 w! j: X3 I# s
  test.add();6 ]  M! z4 i- R
  cout<<"试试这次是否能被整除."<<endl;
- H+ w% {* N: I4 O7 G- \ cout<<"新余数是:";, t6 [% u% e! n( @. L; b% l: e
  if(test.qyu())& _7 X1 G- j. ?7 U2 Q
   cout<<"已发送成功!"<<endl;
+ A& m- f5 r7 ]$ e. {# M  else
! g" |6 B! L( N3 M8 ~6 G   cout<<"未发送,失败!"<<endl;
5 _: c1 `" z: Y; ]/ q2 m' A}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

5
发表于 2005-6-17 01:01:00 | 只看该作者
晕,有点义气和意气好不,会的帮帮他
  • TA的每日心情

    2019-4-26 13:26
  • 签到天数: 2 天

    [LV.1]初来乍到

    4
    发表于 2005-6-16 22:49:00 | 只看该作者
    给点小费偶帮你搞定 HOHO
    $ e* u. ^3 E. R% h- j
    [此贴子已经被作者于2005-6-16 22:49:36编辑过]
    3 [; v" f3 t+ H/ X9 _! j: \

    该用户从未签到

    3
    发表于 2005-6-16 13:19:00 | 只看该作者
    头晕
  • TA的每日心情

    2019-4-26 13:26
  • 签到天数: 2 天

    [LV.1]初来乍到

    2
    发表于 2005-6-16 00:18:00 | 只看该作者
    C++ ?
    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表