Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   I need your help (http://www.go4expert.com/forums/i-help-t21617/)

the white soul 1Apr2010 16:01

I need your help
 
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

karthigayan 1Apr2010 16:51

Re: I need your help
 
I think this is your home work . Try by your own . If you struck any where then post here .

en_7123 1Apr2010 17:21

Re: I need your help
 
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.

virxen 2Apr2010 02:39

Re: I need your help
 
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 4Apr2010 08:58

Re: I need your help
 
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

the white soul 4Apr2010 09:01

Re: I need your help
 
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

xpi0t0s 4Apr2010 21:08

Re: I need your help
 
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.

virxen 5Apr2010 01:25

Re: I need your help
 
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;
}



All times are GMT +5.5. The time now is 21:33.