Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Why is this simple output so difficult to code in C

  1. Nov 25, 2012 #1
    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. jcsd
  3. Nov 25, 2012 #2

    phinds

    User Avatar
    Gold Member
    2016 Award

    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
  4. Nov 25, 2012 #3
    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. :-)
     
  5. Nov 25, 2012 #4

    phinds

    User Avatar
    Gold Member
    2016 Award

    You are still missing the point.
     
  6. Nov 25, 2012 #5

    Mark44

    Staff: Mentor

    Physics Forums rules do not permit providing complete answers, especially when the original poster has not shown any work.
     
  7. Nov 26, 2012 #6
    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.
     
  8. Nov 27, 2012 #7

    uart

    User Avatar
    Science Advisor

    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.
     
  9. Nov 27, 2012 #8
    Or one :bugeye:.
     
  10. Nov 27, 2012 #9

    uart

    User Avatar
    Science Advisor

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

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

    jtbell

    User Avatar

    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:

    https://www.physicsforums.com/showthread.php?t=655808

    Please continue that discussion in the new thread. I apologize if I lost any posts in the process of transplanting them.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Why is this simple output so difficult to code in C
  1. C++ is crazy difficult. (Replies: 26)

Loading...