I need your help

Newbie Member
1Apr2010,16:01   #1
the white soul's Avatar
hello guys

this is my first post in here, I hope you will help me guys


I tried many time but I couldn't get the required pattern


write a c program to generate the
pattern shown using nested for loop

1
01
101
0101


and



0
12
345
6789
Go4Expert Member
1Apr2010,16:51   #2
karthigayan's Avatar
I think this is your home work . Try by your own . If you struck any where then post here .
Ambitious contributor
1Apr2010,17:21   #3
en_7123's Avatar
Take it step by step try to find some 'pattern' that is there in the output.Try to from a logic on how you could print that than put something over here.Its not that difficult but try yourself.
Pro contributor
2Apr2010,02:39   #4
virxen's Avatar
this will give you the opposite from what you want in 1)
do the rest by yourself

(hint:you must add 1 char and 1 number in order to work as you want...but where?)


Code:
#include <stdio.h>

int main(){
    for (int i=0;i<4;i++){
        printf("\n");
        for (int j=0;j<(i+1);j++)
            printf("%d",(i+j)%2);
    }
getchar();
    return 0;
}

output
---------


0
10
010
1010



with this try and 2)
the white soul like this
Newbie Member
4Apr2010,08:58   #5
the white soul's Avatar
Thank you virxen so much

I tried the second but I couldn't get the right answer

Code:
#include <stdio.h>

int main(){
	 for (int i=0;i<4;i++){
        printf("\n");
		  for (int j=0;j<(i+1);j++)
				printf("%d",(i+j+1));
    }
getchar();
	 return 0;
}
and I got the output as

1
23
345
567

instead of getting

1
23
345
6789

can anyone help me to correct my answer
Newbie Member
4Apr2010,09:01   #6
the white soul's Avatar
sorry this is the code
Code:
#include <stdio.h>

int main(){
	 for (int i=0;i<4;i++){
		  printf("\n");
		  for (int j=0;j<(i+1);j++)
				printf("%d",(i+j));
	 }
getchar();
	 return 0;
}

and the output was
0
12
234
3456


instead of getting

0
12
345
6789


what's wrong in the code so I can get the right answer
Mentor
4Apr2010,21:08   #7
xpi0t0s's Avatar
Your code displays on each line values from i (which increases by 1 each new line) to i+j. But you want each line to begin with the last number displayed, plus one.

So how about a counter that just increases each time you print something? Then print the counter instead of trying to calculate something from i and j.
Pro contributor
5Apr2010,01:25   #8
virxen's Avatar
Because you tried to code i will give you the answer for a,b.

Code:
#include <stdio.h>

int main(){
    for (int i=0;i<4;i++){
        printf("\n");
        for (int j=0;j<(i+1);j++)
            printf("%d",(i+j+1)%2);
    }
getchar();
int count=0;
    for (int i=0;i<4;i++){
        printf("\n");
        for (int j=0;j<(i+1);j++)
            printf("%d",count++);
    }
getchar();
    return 0;
}