Let C be a self-dual binary code with parameters $[n,k,d].$ Let C be a self-dual binary code with parameters $[n,k,d].  $
(i) Show that the all-one vector $(1, 1, . . . , 1)$ is in $C$.
(ii) Show that either all the codewords in $C$ have weight divisible by
$4$; or exactly half of the codewords in $C$ have weight divisible by $4$
while the other half have even weight not divisible by $4$.
I soved i). To ii) I tried to find a correspondence between that sets, but I succeed only if n is congruent with $2$ modulo $4$. I know that $n$ is even.
 A: i) The weight of  every word of your  code is even. For that, take $x \in C=C^\perp$. Then $<x,x>=0$, hence $1+1+...+1=0$. But char ($F_{2}$)=$2$. It results that  wt($x$) is even, where wt($x$)=the weight of $x$.
Now let an arbitrary codeword $x$= ($x_{1}$,...,$x_{n}$) and notice that $<x,(1,..,1)>=0$ from above observation. Then $(1,..,1) \in C^\perp=C$.
ii)If all the words of $C$ have  weight divisible by $4$ you finished.Let suppose  that there exists a word $c$ with weight congruent with $2$ mod $4$. Some  elements of $C$ must have weight congruent with $2$ mod $4$ because in  contrary situation, you can take for example $(1,...,1 )$ and a word $c\in C $ and you will obtain that $(1,...,1)+x $ has weight  divisible by $4$. 
Now let consider the next function defined on the set of words with weight divisible by $4$:
$x$ go to $x+c$.
I notice that $x+c$ has weight congruent with $2$ mod $4$ because 
wt($x+c$)=wt($x$)+wt($c$)-$2$ wt($x\cap c$) 
where wt($x\cap c$) is the number of $1$ on the same position in $x$ and $c$. It is easy to show  that  wt($x\cap c$) is even, because $<x,c>=0$.
So,the function take values in the set of words with weight congruent with $2$ mod $4$. Also the function is one to one. In conclusion half of the codewords in C have weight divisible by $4$ while the other half have even weight not divisible by $4$.
