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

C program

  1. Dec 18, 2007 #1
    I need to write a c program to get a table like this
    ______0 ________1 _________2________3 .....(underscore for presentation only)
    10 sqrt(0*10) sqrt(1*10)

    i know how to get the first row while saving it in an array.
    but i cant find how to write the rest of the lines.
    is tehre a easy way using only for loops?
    here is a part of the code ive written

    int main()
    int i,j,num[20];

    Last edited: Dec 18, 2007
  2. jcsd
  3. Dec 18, 2007 #2


    User Avatar
    Science Advisor
    Homework Helper

    What are you trying to achieve ?
    Draw out on paper ( or in excel) what you want in each cell.
    Work out what formula calcualtes these numbers
    Write the two loops ( one to loop over columns and one over rows)
  4. Dec 19, 2007 #3
    Not sure why you'd need to use an array to store your values, unless you plan to use them later. Even if you were doing that, wouldn't a 2D array make more sense? Then, the easiest way would be to create a large enough array so that you just ignore the first 10 rows. Then, assuming rows = i and cols = j, you can do

    num[j] = sqrt(i*j)

    in a nested for loop. Use some simple arithmetic if you don't want to waste space in the array.

    I think this should get you what you're after (at least without writing the program for you).
  5. Dec 19, 2007 #4
    Assuming this is the table you want...

    Code (Text):
    [FONT="Courier New"]
        |      0       |      1       |       2      |     3
    10  |  sqrt(0*10)  |  sqrt(1*10)  |  sqrt(2*10)  |
    11  |  sqrt(0*11)  |  sqrt(1*11)  |  sqrt(2*11)  |
    12  |  sqrt(0*12)  |  sqrt(1*12)  |  sqrt(2*12)  |
    13  |[/FONT]
  6. Dec 20, 2007 #5

    jim mcnamara

    User Avatar

    Staff: Mentor

    This looks like homework, so I would suggest:
    1. your prof wants you to learn about printf() formatting specifically how to make a field a fixed width - eg printf("%6.3f", sqrt( of something) );
    2. your prof wants you to see that you can sprintf the same way as printf, except to build a string, not print right away.
    3. you can use a for( ) loop to build the body of the table.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook