Hi all,
I have been pulling my hair out in this one. I am using logisim to build this for lab. I have combined a half adder (a,b inputs and s, c outputs) with the carry coming out to represent z that goes into the full adder(xyz inputs and s2, s1, s0, as outputs). My problem is I cannot find the right combination of gates to get the correct truth table. Just so I totally make sure my truth table is correct and understand this right, my first eight outputs should be, 000, 001, 010, 011, 001, 010, 011, 100, right?

Out first and second part of our lab was to build a half adder then a full adder. I understand that for the 2 bit adder you combine the half and full to make a 2 bit adder. I have tried using my carry from my half into my full as z, but it does not match the truth table. My output is 000, 010, 010, 001, 100, 110, 110, 110, 110, 101, 100 for the first few. Which is wrong. What am I missing here, has to be something simple. I have used xor's, and's, then just to make sure I used xor's and nand's, but I cannot get it to match.

What makes you say a full adder has three outputs?

Your problem could be related to the fact that all your inputs and outputs in that picture you've posted seem to have the same name.