C program

1. Dec 18, 2007

Dili

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)
11
12
..
..

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

#include<stdio.h>
#include<math.h>
int main()
{
int i,j,num[20];
printf("\t");
for(i=0;i<9;i++)

num=i;
{
printf("%d\t",num);
}

Last edited: Dec 18, 2007
2. Dec 18, 2007

mgb_phys

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)

3. Dec 19, 2007

SlideMan

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).

4. Dec 19, 2007

SlideMan

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]

5. Dec 20, 2007

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.