# Why is this simple output so difficult to code in C

1. Nov 25, 2012

### camel-man

1
1 2 1
1 2 1 2 1
1 2 1 2 1 2 1
1 2 1 2 1 2 1 2 1

I am stumped on how to do this, is it really as easy as it looks?

2. Nov 25, 2012

### phinds

Mod note: Deleted the portion that shows the answer to the problem in post #1.
Trueo, I see you are fairly new to the forum so perhaps you don't realize it, but the POINT of this forum is not to spoon-feed full answers to problems but to help people learn how to get their own answers by figuring out where they are having difficulty and giving them some help to get them over the next hump.

That is, we are not here to show how knowledgeable we are, we are here to help others get more knowledgeable.

Last edited by a moderator: Nov 25, 2012
3. Nov 25, 2012

### trueo

I just think people visiting PF are mostly students who are different from (advanced) employees; and I am not showing off with what I know, it is just a mini program, which doesn't build me into any person. :-)

4. Nov 25, 2012

### phinds

You are still missing the point.

5. Nov 25, 2012

### Staff: Mentor

Physics Forums rules do not permit providing complete answers, especially when the original poster has not shown any work.

6. Nov 26, 2012

### Michael Redei

It's too long since I last programmed in C, so you'll have to make do with some pseudo-code. I guess you don't just want to output your example, but any kind of figure like this:

1
1 2 1
1 2 1 2 1
. . .
n ones and (n-1) twos alternating

The first thing I see here is that you want n rows, so you need some kind of loop:

for i = 1 to n do {
. . .
}

Those three dots must produce line number i, which is made up of i ones and (i-1) twos. Forget the twos for the moment, and you still need to print i ones -- with another loop:

for j = 1 to i do {
print "1"
}

Now if you can work out how to get those two loops (one for printing n lines, the other for printing i ones) to work together, all you need to add is the twos in between the ones.

7. Nov 27, 2012

### uart

Five "printf"s anyone?

OP probably should have been a bit more specific about exactly what was the problem if s/he wants a more specific answer.

8. Nov 27, 2012

### Timo

Or one .

9. Nov 27, 2012

### uart

Yep. Or two or three, depending on how much you like or dislike long lines of source code. Take your pick.

It a funny question this one. How do you get these five lines of output, no other information or parameters given. :rofl:

10. Nov 30, 2012

### Staff: Mentor

Many posts, which took this thread far beyond its original intent as a simple homework-help request, have been moved into a new thread here: