Read in Hindi
Read in English
Going forward with C/C++ programming language tutorial today we will learn how to take input from user when program is running. Lets see an example for this. The program below will ask user to enter a number then it will print whether number is even or odd.
#include <stdio.h>

int main() {

printf("Please enter a number: ");
int i = 0;
scanf("%d", &i);

printf("You entered %d \n", i);
if(i%2 == 0) {
printf("Number is even\n");
} else {
printf("Number is odd\n");
}

scanf("%d", &i);
}

Run this program and it will print "Please enter a number:" and stop. Type any number and press enter. Then it will print that number you have entered and it will also print if number is even or odd. Now lets see how it works.
After main() 1st line is printf("Please enter a number: "); You are familiar with this. After that variable i is defined Which will hold the number entered by user. See the next line which says scanf("%d", &i);
scanf works similar as printf. Its 1st argument "%d" means same as printf which tells input will be int. 2nd argument &i specifies the variable in which input will be stored. (Here & sign is necessary before variable. We will know the reason when we learn about pointer) If you enter 25 on screen then value of i will be 25. Program after that line you can understand easily with help of previous topics - Here in screen we have printed the number entered by user. Note that % gives the remainder. Hence if diving that number with 2 given 0 remainder then we print that "Number is even" otherwise we print "Number is odd".
Reason to write scanf at the end: If you run program in windows, it shows output in black windows which closes very quickly as program finished and you won't have much time to read the output. If we write scanf in end, window will not close, rather it will wait for input. This will give us enough chance to examine the output.

Array.
We have studied about variable that a variable can store a value but when defining variable we have to tell what type of value store करेगा integer, character etc. Array can store more than one values. If you want to store 100 int, you can store all of them in an array. Lets see by an example how do we do it.
In the example given below we will store squares of 0 to 9 in an array then print all of them. Try running this program.

#include <stdio.h>

int main() {

int i = 0;
int arr[10];

for(i = 0; i < 10; i++) {
arr[i] = i*i;
}

for(i = 0; i < 10; i++) {
printf("square of %d is %d\n", i, arr[i]);
}

scanf("%d", &i);
}

In int arr[10]; arr is a variable which can hold 10 integers. Remember it can store only integers from index 0 to 9. Hence in this case 1st integer will be at arr[0], 2nd at arr[1] and so on. Size of arr is 10 hence it will store 10 integers from arr[0] to arr[9]. After that its easy to understand program. Statements inside for loop(which will run 10 times) when we come 1st time, i will be 0 hence 1st integer will be stored at arr[0] will be 0. Similarly going forward inside for loop when we come last time inside for loop, i will be 9 hence arr[9] will be 81. Similarly in next for loop we reading values of array and printing.
Usually we use for loop as shown above to access elements in the array.
In next topic we will learn about while loop.
If you like this tutorial, share it with your friends on facebook, orkut, twitter etc.
आज Hindi के इस C/C++ programming language tutorial को आगे बढ़ाते हुए ये सीखते हैं कि हम runtime पर यानि जिस समय program run हो रहा है तब input कैसे लेते हैं. इसे एक example से समझते हैं. नीचे दिए गए example में हम user से एक संख्या input में लेंगे और उसके बाद यह print करेंगे कि वह संख्या सम है या विषम.
#include <stdio.h>
int main() {

  printf("Please enter a number: ");
  int i = 0;
  scanf("%d", &i);

  printf("You entered %d \n", i);
  if(i%2 == 0) {
    printf("Number is even\n");
  } else {
    printf("Number is odd\n");
  }

  scanf("%d", &i);
}

इस program को run करे. यह screen पर print करेगा Please enter a number: और रुक जायेगा. कोई भी संख्या type करके enter दबा दें. इसके बाद यह print करेगा कि आपने कौन सी संख्या type कि थी और यह भी बताएगा कि यह सम(even) है या विषम(odd). अब देखते हैं यह काम कैसे करता है.
इस program में सबसे पहले हमने printf("Please enter a number: "); लिखा है जिससे आप परिचित ही हैं कि यह screen पर क्या print करेगा. इसके बाद हमने variable i define किया है जो उस मान को ग्रहण करेगा जो हम input लेंगे. इसके बाद वाली line को ध्यान से देखिये जिसमे लिखा है scanf("%d", &i);
scanf printf की तरह ही काम करता है. इसका पहला argument "%d" का ठीक वही मतलब है जो printf में होता था, इसके द्वारा हम यह बताते हैं input में int लेंगे. दूसरा argument &i यह बताता है कि जो input लेंगे वह किस variable में store होगा. (यहाँ variable से पहले & चिन्ह लगाना आवश्यक होता है इसका कारण आगे समझेंगे जब pointer के बारे में पढेंगे.) अगर आप screen में 25 enter करेंगे तो i का मान 25 हो जायेगा. उसके बाद वाला program पिछले लेखो के अनुसार आप आसानी से समझ सकते हैं - हमने screen पर उस संख्या को print किया है जो आपने enter किया था. यहाँ यह ध्यान रहे % भाग देने से बचने वाला शेष दे देता है. अतः उस संख्या 2 में का भाग देने पर यही शेष 0 आता है तो हमने print किया है कि Number is even अन्यथा यह print किया है कि Number is odd.
हर program के अंत में scanf लिखने का कारण: अगर आप windows में program run कर रहे है तो एक काली window खुलती है जिसमे output दिखता है परन्तु जैसे ही program समाप्त होता है यह काली window बंद हो जाती है. अंत में scanf लिखने से काली window बंद नहीं होती क्योकि वो हमारे input का wait करती है. अगर ये नहीं लिखेंगे तो program इतनी जल्दी run होकर काली window बंद हो जायेगी कि हम अपने program का output ही नहीं देख पाएंगे.

अब समझते हैं Array के बारे में.
हम variable के बारे में जान चुके हैं कि हर variable कोई value store कर सकता है परन्तु variable define करते समय यह बताना होता है कि वह किस type की value store करेगा integer, character etc. Array एक से अधिक value store कर सकता है. अगर आप 100 int store करना चाहते तो उसे एक array में कर सकते हैं. इसे एक example कि सहायता से समझते है कि एक से अधिक variable Array में कैसे store करते हैं.
नीचे दिए गए example में 0 से 9 तक संख्याओं के square array में store करेंगे और उन्हें print करेंगे. पहले इस program को run करके देखें.

#include <stdio.h>

int main() {

  int i = 0;
  int arr[10];

  for(i = 0; i < 10; i++) {
    arr[i] = i*i;
  }

  for(i = 0; i < 10; i++) {
    printf("square of %d is %d\n", i, arr[i]);
  }

  scanf("%d", &i);
}

अब इसे समझते हैं. int arr[10]; arr variable define कर रहा है जो 10 int store कर सकता है. ध्यान रहे यह केवल int store कर सकता है. ये सारे int इसमें number से store रहते हैं. ध्यान रहे कि इनकी numbering 0 से start होती है जैसे कि इस 10 int की Array arr में पहला int arr[0] पर होगा, दूसरा arr[1] पर ... ऊपर हमने arr कि size 10 रखी है अतः यह 10 int(arr[0] से arr[9]) ही store कर सकता है. इसके बाद के program को आप समझ ही सकते हैं. for loop के अंदर (जो कि 10 बार run होगा) जब हम पहली बार आयेंगे तो i का मान 0 होगा अतः arr[0] (arr array का पहला int) में 0 आ जायेगा इसी तरह आगे बढते हुए जब for loop के अंदर अंतिम बार आयेंगे तो array arr का अंतिम int(arr[9]) में 81 आ जायेगा. इसी तरह अगले for loop में हम arr के उन सभी मानो को print कर रहे हैं.
अधिकांशतः हम किसी array के प्रत्येक मान को access करने के लिए ऊपर दिखाए अनुसार for loop का प्रयोग करते हैं.

अगले लेख में हम while loop के बारे में जानेंगे.
अगर आपको यह लेख पसंद आया हो तो अपने दोस्तों को भी बताएं क्योंकि ये उनके लिए भी उपयोगी सिद्ध हो सकता है !! नीचे दिए गए link के माध्यम से इसे आसानी से facebook twitter और Google Buzz पर भी Share कर सकते हैं.