# Thread: generate number

1. ## for loop

Code:
```#include<stdio.h>

//main function..
int main(void){
int i,j,k;
int n=3;
for(i=0;i<=3;i++) {
j=1;
while(j<=n) {
printf("\t%d",j);
j++;
}
printf("\n");
n=n+3;

}

}```
the output is:
1 2 3
1 2 3 4 5 6
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10 11 12

but i want the output as
1 5
2 6 9
3 7 10 12
4 8 11 13 14 15
anyone help me using the for loop?..

2. Well if you care to explain what you are trying to do, sure, why not?

3. thanks claudiu, for ur reply i am actually new to c...i actually need the output as :
1
2 5 8
3 6 9 11 13
4 7 10 12 14 15

4. Okay, so if you had say, 20 numbers what would be the pattern then? I am just a little confused on what you are actually trying to do.

5. help me with this 15 numbers...

6. I can guess what the pattern is, but I agree with claudiu: you need to express this pattern yourself. Do it in words, then it may become easier to translate it to code.

Just helping you with "this 15 numbers" is not the right approach, since obviously the simple solution for this is to print the sequence as-is, without the use of loops. But to understand how to solve this with loops means understanding the general pattern.

7. like,if the number is 20,it has to be like

1 5
2 6 9 12
3 7 10 13 15 17
4 8 11 14 16 18 19 20

see,the thing is it has to be with 4 rows alone...

8. Your not explaining the pattern... all your doing is showing us a bunch of numbers...

Explain, using words, what the pattern is, then perhaps we can help.

9. hey guys,sorry guys i dono to explain it...but atlast ,i cud do it myself...This is the program :
Code:
```for(i=1; i<=limit; i++)
{
printf("%d", i);
for(j=1; j<i; j++)
{
k=1;
sub = j * limit;
while(k <= j)
{
sub = sub - k;
k++;
}
printf("    %d", (i+sub));
}
printf("\n");

}```

10. The pattern was very clear, but your code is cryptic. Try to get better names for your variables, whenever you can, or comment your code.

Another way is to use an int array[rows]cols] and then fill in the elements of it by COLUMNS first, and THEN by the rows incrementing.

Then print it out the normal way, by rows incrementing first.

Popular pages Recent additions