1. You need to learn to indent properly.
Also, the warning is a little misleading. The big problem is that you are assigning instead of comparing.
But even then, it doesn't make sense, since i is initially 0, and the loop executes only while i equals 4. Hence, the loop won't run.

Also, your code is way overcomplicated. I think you should formulate proper logic for this first.
The method is the same if you add 5 bits as if you were adding n bits.
It's just as usual addition, but in base 2 instead of base 10.

2. Doh! Just saw it and assumed it was missed.

3. i change i=4
no wornings or errors
but the summation is wrong if there is carry

Code:
#include<iostream>
using namespace std;
int main()
{
int arr[5],arr1[5],sum[5],carry[6]={0};
int i ,c;

cout<<"number 1.:"<<endl;
for(i=0;i<5;i++)
{
cin>>arr[i];
}
cout<<"number 2.:"<<endl;
for(i=0;i<5;i++)
{
cin>>arr1[i];
}

for(i=0;i<5;i++)
{
c=arr[i]+arr1[i]+carry[i];
if(c==0)
{
sum[i]=0;
carry[i+1]=0;
}
else if(c==1)
{
sum[i]=1;
carry[i+1]=0;
}
else if(c==2)
{
sum[i]=0;
carry[i+1]=1;
}
else if(c==3)
{
sum[i]=1;
carry[i+1]=1;
}
}

for(i=0;i<5;i++)
{
cout<<"sum= "<<sum[i]+carry[i+1];
cout<<endl;
}
return 0;
}

4. Indent the code.
Make a flowchart.

5. You know that this:
Code:
cout<<"sum= "<<sum[i]+carry[i+1];
is not how carry works.

6. Courtesy of source code formatter:

Code:
#include<iostream>
using namespace std;
int main()
{
int arr[5],arr1[5],sum[5],carry[6]= {0};
int i ,c;

cout<<"number 1.:"<<endl;
for(i=0; i<5; i++)
{
cin>>arr[i];
}
cout<<"number 2.:"<<endl;
for(i=0; i<5; i++)
{
cin>>arr1[i];
}

for(i=0; i<5; i++)
{
c=arr[i]+arr1[i]+carry[i];
if(c==0)
{
sum[i]=0;
carry[i+1]=0;
}
else if(c==1)
{
sum[i]=1;
carry[i+1]=0;
}
else if(c==2)
{
sum[i]=0;
carry[i+1]=1;
}
else if(c==3)
{
sum[i]=1;
carry[i+1]=1;
}
}

for(i=0; i<5; i++)
{
cout<<"sum= "<<sum[i]+carry[i+1];
cout<<endl;
}
return 0;
}

7. is not how carry works.
then how ?

Code:
11
387
+295
----
682
Would you then write the answer down as 693? No you would not.

9. i don't know how to write fuction to calculate other than this way

10. Once you do the carry, you don't do it again. Do you not see how you have already added the carry in the first place?

11. Code:
cout<<"sum= "<<sum[i];
cout<<endl;
you mean like this ?

12. Right, although at some point you need to remember that you add from right to left.

13. ok i want the output to be in the same row , like this : 0 0 0 1 0
rather than : 0
0
0
1
0
how can i do it ?

and there is a value i keep getting with the sum -858993460 :S

14. 1. Don't print a new line after every digit.

2. Also make sure your arr1 are reading what you want them to be.

15. 2. Also make sure your arr1 are reading what you want them to be.
what you mean ?
Code:
= { 0 }
if i remove 0 from the carry , the output will be -858993460 without the summation

another questions:
1. how i can make the program to stop if the user entered numbers > 1
i already write the if experssion and it's appear if the user entered > 1 but still ask for the second number

2. if add 00001 to 00001 it will = 00000 and i want the last carry, so = 000001
how i can fix that ?

3. i want the user to enter the number without sparating : 10010
i tried to use / % but it didnot work

although at some point you need to remember that you add from right to left.
4. is it a problem ? if it's how can fix it?

and thank you,you've been a big help