Header Ads

ad728
  • New Updates

    Array Value Initialization

     


    Array Value Initialization

    जिस प्रकार हम किसी भी अन्य Variable को प्रारंभिक मान प्रदान कर सकते हैं , वैसे ही हम Array को भी प्रारंभिक मान दे सकते हैं

    One Dimensional Array को हम निम्नानुसार मान प्रदान कर सकते हैं |

    static Data_Type Array_Name [size] = {List of Values};

    int b[4]= {12,22,22,1}

     

    इस Array में एक int प्रकार का Variable b है , जिसका आकार 4 है | यानी यह Variable Memory में लगातार int प्रकार के चार मान Store हो सके ऐसी Location पर Store होगा और हर Location पर Store Elements का मान निम्नानुसार होगा

     

    b[0] = 12

    b[1] = 22

    b[2] = 22

    b[3] = 1

     

    यदि हम Array के कुछ मान Initialize करें व कुछ छोड़ दें तो शेष के मान स्वयं ही 0 Initialize हो जाते है लेकिन ये तभी होता है जब Array को Static Storage Class में Declare किया गया हो जैसे :

    int b[4] = {1};

     

    यह Memory में प्रथम Element को 1 Initialize करेगा शेष को 0 Initialize कर देगा | यानी

    b[0] =1

    b[1] = 0

    b[2] = 0

    b[3] = 0

     

    इसी प्रकार Two Dimensional Multi Dimensional Array को भी हम Initialize कर सकते है |  जैसे

    int b[2] [3] = {1,2,3,4,5,6}

     

    इस Statement से प्रथम Row के तीन Column का मान 1,2 3 हो जाएगा व दूसरे Row  के तीनो Column का मान क्रमशः 4 , 5 6 हो जाएगा | इसे अन्य तरीके से भी Initialize कर सकते है |

     

    static int b[2] [3] = {1,2,3} ,{4,5,6};

                             or

    static int b[2] [3] = {{1,2,3} {4,5,6}};

    यदि हम कहीं पर मान Assign ना करने तो वहां पर Automatically 0 Assign हो जाता है | जैसे

     

    static int b[2] [3] = {1,2},{4};

                      or

    static int b[2] [3] = {{1,2}{4}};

     

    इन दोनों उदाहरणों में प्रथम Row के तीसरे Column व दूसरी Row के दूसरे व तीसरे Column का मान Assign नहीं किया है , इसलिए इनका मान स्वयं ही 0 Initialize हो जाएगा जब हम चाहते हो कि किसी Array के सभी मान 0 हो तो हम इसे निम्नानुसार भी Assign कर सकते हैं |

    static int b[2] [3] = {0} , {0};

                        or

    static int b[2] [3] = {{0} {0}};

     

    इस प्रकार सभी Array के सभी Elements का मान 0 हो जाता है | यदि हमें Multi Dimensional Array को मान प्रदान करना हो तो भी यही तरीके अपनाते है |

    किसी Array का Declaration करते समय हम Array की Size को किसी Constant Expression का प्रयोग करके भी Specify कर सकते है | जैसे

     

    #define LEAP1   /*in Leap Years */

    int days [ 31+28+LEAP+31+30+31+30+31+31+30+31+30+31];

     

    जब हम इस तरह से Array Declaration Statement लिखते हैं , तो इस Array की कुल Size 366 हो जाती है |

     

    Program

    
    #include<stdio.h>
    main()
    {
    	int i, num[10];
    	
    	//Traversing the Array For Input 10 Array Element
    	
    	for (i=0; i<10; i++)
    	{
    		printf("\n Enter%d Element of Array: ",i);
    		scanf("%d",&num[i]);
    	}
    	
    	//Traversing the ARRAY For Displaying Entered Elements 
    	
    	for (i=0; i<10; i++)
    	{
    		printf("\n%d Element Of Array:",num [i]);
    	}
    	getch();
    }
    

    इस प्रोग्राम में Loop चलने के लिए int प्रकार का Variable i num नाम का , int प्रकार का एक Array लिया है , जिसकी size 10 Element की है | Data Input करने के लिए for Loop चलाया गया है | जब प्रथम बार Loop चलता है , तब प्रथम मान Input करने के लिए Message आता है | i का मान 0 होता है , जिससे num [i] Statement के कारण input किया गया प्रथम मान num[0] Location पर Store हो जाता है | यहां मान Input करते ही Loop पुनः Execute होता है और हमसे दूसरा मान मांगता है | अब i का मान बढ़ कर 1 हो चूका होता है , इसलिए Input किया जाने वाला मान num[1] Location पर Store हो जाता है |

    इस प्रकार क्रम से मान num[9] तक Input होता है | हम Array के Address द्वारा उसके Elements के साथ Arithmetical व विभन्न प्रकार की Logical या Relational प्रक्रियाएं कर सकते हैं |

     

    Program

    
    #include<stdio.h>
    main()
    {
    	int num[10],square[10],i;
    	
    	//Inputting Array Elements
    	for (i=0; i<10; i++)
    	{
    		printf("Enter%dElements :",i);
    		scanf("%d",&num[i]);
    	}
    	
    	/*Calculating Square of Every Elements And Placing that in Square Array */
    	
    	for (i=0; i<10; i++)
    	{
    		square[i]=num[i]*num[i];
    	}
    	
    	//Displaying Both Array Elements
    	
    	for (i=0; i<10; i++)
    	{
    		printf("\n Square of%d is %d",num[i],square[i]);
    	}
     getch();	
    }
    

    इस प्रोग्राम में हमने दो Array लिए हैं | पहला Array num[i] प्रथम for Loop के दौरान मानों को Input करता है | दूसरा for Loop num [i] में Store मानों का वर्ग ज्ञात करते हुए दूसरे Array Square [i] में रखता है और तीसरे Loop द्वारा दोनों Array में Store मानों को Output में Print कर दिया गया है |


    No comments

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728