Wednesday, 17 February 2016

[15]-BREAK AND CONTINOUS

आज Hindi के इस C/C++ programming language tutorial को आगे बढ़ाते हुए हम दो important keywords break और continue का use करना सीखेंगे, जो loops (for loop, while loop, switch case) में कभी कभी काम आ जाते हैं.

use of break in c/c++


c/c++ में किसी loop को बीच में ही खत्म करके उससे बाहर निकलने के लिए break का use किया जाता है. उदाहरण के लिए मान लीजिए एक int array में हम किसी number को खोजना चाहते हैं, इसके लिए for loop का use करके array के हर एक element को check करेंगे कि वह number वहां है कि नहीं. यहाँ for loop तब तक चलता रहेगा जब तक हम पूरी array check नहीं कर लेते, पर हम चाहते हैं कि बीच में जब भी वो number मिल जाये जिसे खोज रहे हैं तो for loop बंद करके loop से बाहर आ जाएँ. इसके लिए break का use करेंगे. for loop ही नहीं while loop से बीच में बाहर आने के लिए भी break जा use करते हैं.
इसे नीचे दिए गए example से समझते हैं. इसमें हम 100 से 200 के बीच पहली संख्या search करेंगे जो 21 से विभाजित हो जाये.
#include <stdio.h>

int main() { 
  int i;
  for(i=100; i<=200; i++) { 
    if(i%21 == 0) {
      printf("1st such number is %d\n", i);
      break;
    }
  }
  scanf("%d", &i);
  return 0;
}

यहाँ for loop के अंदर if statement है. आपको याद दिला दें कि % यह बताता है कि पहली संख्या में दूसरी का भाग देने पर शेष क्या बचेगा. जिन संख्याओ के लिए i%21 की value 0 नहीं है अर्थात वो 21 से विभाजित नहीं होते for loop में i के उन मानो लिए हम if के अंदर नहीं जायेंगे (ध्यान दे जैसा कि हम जानते हैं कि यहाँ for loop में i के 100 से 200 तक हर मान के लिए for loop के अंदर लिखे सारे statement run होंगे.) शुरू में if के अंदर वाले statement run नहीं होंगे पर जैसे ही i की value 105(21 से विभाजित) होगी if के अंदर चले जायेंगे और break run हो जायेगा और for loop खत्म हो जायेगा. इसलिए finally for loop के अंदर लिखे statement i के 100 से 105 तक की value के लिए ही run हो पाएंगे क्योंकि i=105 आने के बाद break run होने के कारण for loop खत्म हो जायेगा.
इसी तरह c/c++ में while loop को भी बीच में खत्म करने के लिए break का use करते हैं. switch case statement में हम break का use देख ही चुके हैं.

use of continue in c/c++

जैसा कि हम जानते हैं कि loop में (for loop, while loop) के कुछ statement बार बार run होते रहते हैं. कभी कभी loop के अंत तक जाये बिना ही हमारा काम हो जाता है और हम चाहते हैं कि loop बंद न हो पर इस बार loop के अंदर जो run हो रहा है वो यहीं बंद हो जाये और loop का अगला iteration start हो जाये, इसके लिए continue का use करते हैं. इसे भी नीचे दिए गए example से समझते हैं. इस example में एक array में कुछ number दिए गए हैं. हम continue का use करके odd numbers (विषम संख्याए) print करेंगे.
#include <stdio.h>
int main() {
  int arr[] = {1,4,7,2,0,-5,8,17,5,-10};
  int length = 10;
  int i;
  for(i=0; i<10; i++) {
    if(arr[i]%2 == 0) {
      continue;
    }
    printf("Odd number is %d\n", arr[i]);
  }
  scanf("%d", &i);
  return 0;
}

ऊपर दिए गए example में for loop का use करके शुरू से array के एक एक number को देखते हैं. अगर number even है तो हम continue का use करके skip कर देते हैं और अगली बार for loop के अन्दर आते हैं.
इसी तरह while loop में भी continue का use कर सकते हैं.
इस blog को बेहतर बनाने के लिए आपके सुझावों का सदैव स्वागत रहेगा. सुझाव देने के लिए अपना Reply यहाँ पर दें. अगले लेख में हम function के बारे में जानेंगे जो कि बहुत important है.
[16]-STRUCT

आज Hindi के इस C/C++ programming language tutorial को आगे बढ़ाते हुए हम दो important keywords break और continue का use करना सीखेंगे, जो loops (for loop, while loop, switch case) में कभी कभी काम आ जाते हैं.

use of break in c/c++


c/c++ में किसी loop को बीच में ही खत्म करके उससे बाहर निकलने के लिए break का use किया जाता है. उदाहरण के लिए मान लीजिए एक int array में हम किसी number को खोजना चाहते हैं, इसके लिए for loop का use करके array के हर एक element को check करेंगे कि वह number वहां है कि नहीं. यहाँ for loop तब तक चलता रहेगा जब तक हम पूरी array check नहीं कर लेते, पर हम चाहते हैं कि बीच में जब भी वो number मिल जाये जिसे खोज रहे हैं तो for loop बंद करके loop से बाहर आ जाएँ. इसके लिए break का use करेंगे. for loop ही नहीं while loop से बीच में बाहर आने के लिए भी break जा use करते हैं.
इसे नीचे दिए गए example से समझते हैं. इसमें हम 100 से 200 के बीच पहली संख्या search करेंगे जो 21 से विभाजित हो जाये.
#include <stdio.h>

int main() { 
  int i;
  for(i=100; i<=200; i++) { 
    if(i%21 == 0) {
      printf("1st such number is %d\n", i);
      break;
    }
  }
  scanf("%d", &i);
  return 0;
}

यहाँ for loop के अंदर if statement है. आपको याद दिला दें कि % यह बताता है कि पहली संख्या में दूसरी का भाग देने पर शेष क्या बचेगा. जिन संख्याओ के लिए i%21 की value 0 नहीं है अर्थात वो 21 से विभाजित नहीं होते for loop में i के उन मानो लिए हम if के अंदर नहीं जायेंगे (ध्यान दे जैसा कि हम जानते हैं कि यहाँ for loop में i के 100 से 200 तक हर मान के लिए for loop के अंदर लिखे सारे statement run होंगे.) शुरू में if के अंदर वाले statement run नहीं होंगे पर जैसे ही i की value 105(21 से विभाजित) होगी if के अंदर चले जायेंगे और break run हो जायेगा और for loop खत्म हो जायेगा. इसलिए finally for loop के अंदर लिखे statement i के 100 से 105 तक की value के लिए ही run हो पाएंगे क्योंकि i=105 आने के बाद break run होने के कारण for loop खत्म हो जायेगा.
इसी तरह c/c++ में while loop को भी बीच में खत्म करने के लिए break का use करते हैं. switch case statement में हम break का use देख ही चुके हैं.

use of continue in c/c++

जैसा कि हम जानते हैं कि loop में (for loop, while loop) के कुछ statement बार बार run होते रहते हैं. कभी कभी loop के अंत तक जाये बिना ही हमारा काम हो जाता है और हम चाहते हैं कि loop बंद न हो पर इस बार loop के अंदर जो run हो रहा है वो यहीं बंद हो जाये और loop का अगला iteration start हो जाये, इसके लिए continue का use करते हैं. इसे भी नीचे दिए गए example से समझते हैं. इस example में एक array में कुछ number दिए गए हैं. हम continue का use करके odd numbers (विषम संख्याए) print करेंगे.
#include <stdio.h>
int main() {
  int arr[] = {1,4,7,2,0,-5,8,17,5,-10};
  int length = 10;
  int i;
  for(i=0; i<10; i++) {
    if(arr[i]%2 == 0) {
      continue;
    }
    printf("Odd number is %d\n", arr[i]);
  }
  scanf("%d", &i);
  return 0;
}

ऊपर दिए गए example में for loop का use करके शुरू से array के एक एक number को देखते हैं. अगर number even है तो हम continue का use करके skip कर देते हैं और अगली बार for loop के अन्दर आते हैं.
इसी तरह while loop में भी continue का use कर सकते हैं.
इस blog को बेहतर बनाने के लिए आपके सुझावों का सदैव स्वागत रहेगा. सुझाव देने के लिए अपना Reply यहाँ पर दें. अगले लेख में हम function के बारे में जानेंगे जो कि बहुत important है.

[17]-MEMORY {1}

अब तक हमने C/C++ programming के बारे में बहुत कुछ जान लिया है और इस hindi tutorial के द्वारा आप बड़े बड़े program लिखने के लिए भी Ready हैं. अब हम pointer को सरल तरीके से सीखेंगे जिसे C/C++ में सबसे कठिन माना जाता हैं. इसे सरल तरीके से पेश करने कि कोशिश रहेगी, फिर भी समझने में दिक्कत हो तो नीचे comment करें.

Pointer समझने से पहले Memory के बारे में जानना जरूरी है इसलिए आज हम Memory Structure को समझेंगे. आप में से बहुत से लोगो को पता होगा कि computer या कोई भी electronic device जैसे calculator, micro processor, mobile phone सभी सिर्फ 0 और 1 की भाषा समझते हैं, आज हम इसे detail में समझते हैं. किसी भी device की Memory को हम एक बहुत बड़ी array की तरह देख सकते हैं. जैसा कि नीचे चित्र में दिखाया गया है.
1101000110. . .

Memory ऊपर दिखाई गयी Array की तरह दिखती है जिसकी हर एक position पर या तो 0 store हो सकता है या 1. हर एक position को एक bit कहते हैं. 1 bit में या तो 0 store होगा या 1. Magnetic memory में इस एक bit को magnetic field की direction के द्वारा represent किया जाता है. अगर direction clockwise है तो इसे computer 0 read करता है, aniclockwise है तो 1. Computer कभी इस एक bit को अकेले read या write नहीं करता. वह हमेशा 8 bits को एक साथ पढता है. इस 8 bit को 1 byte कहते हैं. इसलिए computer Memory को नीचे दिखाए गए चित्र जैसा पढता है.

110100011001110100101001111110011000001100100110. . .

अगर Computer ऊपर दिखाई गयी memory(array) का पहला address पढ़े तो उसे मिलेगा 11010001. इसी तरह दूसरे address पर 10011101 etc. Computer किसी भी Memory का पहला address पढ़े तो उसे पहली byte(8 bits) मिलेगी, दूसरे address पर दूसरी byte,... अगर पहली byte के अंदर की तीसरी bit पढनी है तो पहले उसे पहली byte पढनी पड़ेगी उसके बाद उस byte से तीसरी bit. directly पहली byte की तीसरी bit नहीं पढ़ सकते, क्योंकि पहला address पढ़ेगा तो पहली byte (पहली 8 bits) मिल जाएँगी. कहने का मतलब यह है कि Computer में byte level addressing होती है. हर byte का एक address होता है, पर byte के अंदर bit का direct address नहीं होता.

आज के लिए इतना ही. अगली बार हम ये देखेंगे कि इस Memory में इतने variable store कैसे होते हैं उसके बाद pointer सीखेंगे. अगला लेख पढ़ने से पहले Binary to Decimal Conversion सीख लें और दो Binary number को जोड़ना भी सीख लें.
[12]- STRING


C language tutorial in hindi को आगे बढ़ाते हुए आज हम string के बारे में जानेंगे. इससे पहले Array और char type variable के बारे में जानना आवश्यक है.
What is String
हम char variable के बारे में जान चुके हैं कि यह variable किसी भी एक अक्षर(letter) को store करता  है. अब अगर मान लीजिए कि हमें हमें एक word(जो एक से ज्यादा अक्षरों से मिलकर बना होगा) को store करना है तो उसे कैसे करेंगे? इसके लिए हम char की एक array बनायेंगे, चूंकि array एक ही तरह के एक से ज्यादा variable store कर सकता है अतः इसकी help से हम word या sentence store कर सकते हैं. examples की help से हम word "hindi" को store करने और उसे print करने के 3 अलग अलग तरीके देखते हैं और ये तीनों ही important हैं.
#include <stdio.h>

int main() {
char w[6];
w[0] = 'h';
w[1] = 'i';
w[2] = 'n';
w[3] = 'd';
w[4] = 'i';
w[5] = '\0';
printf("Word we stored is %s \n", w);
printf("1st letter of array is %c \n", w[0]);

scanf("%s", w);
return 0;
}

ऊपर दिए गए program को run करके output देखें. जो कि print करेगा
Word we stored is hindi
1st letter of array is h
अब इसे देखते हैं कि यह काम कैसे करता है. हमने char की एक array बनाई है जिसमे 6 char आ सकते हैं. इसके बाद जिस तरह से हम array में values डालते हैं उसी तरह से इसमें भी सबसे पहले स्थान पर h फिर i इस तरह से value डाल दी हैं. ध्यान दे कि अंतिम स्थान w[5] पर \0 है जो कि 2 char नहीं बल्कि 1 char है, जो कि यह बताता है यह इस word का अंतिम letter है. जिस तरह से \n line break  character है जिसके बाद अगली लाइन में print होता है उसी तरह \0 के बाद आने वाले letter read या print नहीं होते . इसी को जगह देने के लिए हमने 6 char वाली array बनायीं थी वरना hindi शब्द में 5 char ही हैं. अब इसमें यह भी ध्यान दें कि string को print करने के लिए %s का use किया जाता है. w एक string है जबकि w[0], w[1]... सभी char हैं. पहले वाले printf statement में string w को print किया है इसलिए %s का use किया है जबकि दूसरे वाले printf statement में char w[0] को print किया है इसलिए %c का use किया है.
अब नीचे वाला program देखिये जोकि बिलकुल पहले वाले कि तरह काम करता है.
#include <stdio.h>

int main() {
char w[] = {'h', 'i', 'n', 'd', 'i', '\0'};
printf("Word we stored is %s \n", w);
printf("1st letter of array is %c \n", w[0]);

scanf("%s", w);
return 0;
}

इसमें पहले वाले से सिर्फ इतना difference है कि इसमें एक ही line में array को define भी कर रहे हैं और उसमे values भी डाल रहे हैं जिस तरह से किसी variable जैसे int को एक ही line में define करने और value देने के लिए int x = 1; लिखते हैं. इस तरीके से array define करते समय array की length नहीं बताना पड़ती(अर्थात ये नहीं लिखना पड़ता कि array में कितने element आयेंगे)
गलत तरीका char w[6] = {'h', 'i', 'n', 'd', 'i', '\0'};
सही तरीका char w[] = {'h', 'i', 'n', 'd', 'i', '\0'};

अब एक और program देखते हैं वो भी बिलकुल पहले वाले कि तरह काम करता है.
#include <stdio.h>

int main() {
char w[] = "hindi";
printf("Word we stored is %s \n", w);
printf("1st letter of array is %c \n", w[0]);

scanf("%s", w);
return 0;
}

इस program में ऊपर वाले से सिर्फ 1 line में difference यह है कि यहाँ char array बनाने के लिए shortcut का use किया है. यह shortcut सिर्फ char array बनाने के लिए use होता है.
char w[] = "hindi";
यह लिखने से एक char array w बन जायेगी. इस array का पहला element w[0] 'h', दूसरा element w[1] 'i' .... हो जायेगा. अंतिम element w[5] '\0' हो जायेगा. इस syntax(तरीके) में \0 नहीं लिखना पड़ता.

अभी के लिए string में इतना ही, परन्तु आगे इसका बहुत उपयोग आता है. समय समय पर recall करते रहेंगे और बाद में धीरे धीरे इसके बारे में जानते रहेंगे.
इस blog को बेहतर बनाने के लिए आपके सुझावों का सदैव स्वागत रहेगा. सुझाव देने के लिए अपना Reply यहाँ पर दें. अगले लेख में हम function के बारे में जानेंगे जो कि बहुत important है.
अगर आपको यह लेख पसंद आया हो तो अपने दोस्तों को भी बताएं क्योंकि ये उनके लिए भी उपयोगी सिद्ध हो सकता है !! नीचे दिए गए link के माध्यम से इसे आसानी से facebook twitter और Google Buzz पर भी Share कर सकते हैं.

[13]-FUNCTION


आज Hindi के इस C/C++ programming language tutorial को आगे बढ़ाते हुए हम function के बारे में और जानेंगे. किसी एक काम को अलग अलग समय बार बार करवाने के लिए function का use करते हैं. याद करे कि if else statement वाले topic में हमने एक program लिखा था जो कि total marks और obtained marks के आधार पर percent और division निकाल कर print करता था. अब अगर हमें 5 students के लिए percentage और division निकलना है तो एक तरीका यह है कि हम पहले वाले program में total marks और obtained marks को बार बार modify करें और बार बार program को compile करके run करें. पर इसमें बहुत time लग जायेगा. एक और तरीका यह है कि program का वह भाग जो percentage निकाल कर division print करता है उसे 5 बार copy-paste करें.
इसे आसानी से करने का सबसे अच्छा तरीका है function का use. हम एक ऐसा function लिखेंगे जिसे total marks और obtained marks देने पर वह हमें percentage देदे. अभी percentage print करने का program ही देखते हैं, उसके बाद division print करने का program भी देखेंगे.
नीचे लिखे हुए program को देखिये जिसमे हमने function define किया है. पर इसे run न करे क्योंकि यह run नहीं होगा. इसके बाद function call करने और run करके का तरीका देखेंगे.
int get_percent(int total marks, int obtained marks) {
  int percent = obtained_marks*100/total_marks;
  return percent;
}

सबसे पहले int लिखा गया है जोकि यह बताता है कि function किस तरह का मान हमें return करेगा. इस example में function int type का मान हमें return करेगा. उसके बाद function का नाम लिखते हैं, जोकि यहाँ पर get_percent है. उसके बाद () में function के input variable लिखते हैं जिन्हें parameter या argument कहते हैं input variable लिखते समय यह भी बताना पड़ता है कि वो किस type के हैं और उन्हें function के अंदर किस नाम से access करेंगे. यहाँ दोनों input int हैं. किसी function में हम कितने भी input दे सकते हैं, या फिर अगर एक भी input नहीं देना चाहते तो () के अंदर कुछ नहीं लिखते. यहाँ 2 input दिए गए हैं. उसके बाद {} के अंदर वो लिखते हैं जो function काम करेगा. यहाँ हमने दिए गए input का उपयोग करके percent निकाला है. अंत में return करते हैं.
शुरू में लिखा हुआ int यह बता रहा था कि यह function int type की value हमें देगा(return करेगा). अंत में return लिखकर हम percent return कर रहे हैं जो int type का ही है. अगर return statement के बाद कुछ लिखा है तो वह run नहीं होगा, क्योंकि return आते ही function को यह पता लग जाता है कि क्या value return करना है और function वह value return करके उसी समय खत्म हो जाता है.
अब यह देखते हैं कि इस function का use कैसे करेंगे. नीचे दिए गए program को run करके देखें.
#include <stdio.h>
int get_percent(int total_marks, int obtained_marks) {
  int percent = obtained_marks*100/total_marks;
  return percent;
}
int main() {
  int percent;
  percent = get_percent(500, 360);
  printf("Percent is %d\n", percent);
  percent = get_percent(500, 340);
  printf("Percent is %d\n", percent);
  scanf("%d", &percent);
  return 0;
}

सबसे पहले हमने function define किया है किसका नाम है get_percent, जो int type की value return करेगा और 2 int type के parameter लेगा जैसे कि हम ऊपर भी देख चुके हैं. फिर
main() के अंदर से program run होना start होता है जैसा कि हम अभी तक देखते आये हैं. main के अंदर पहले int type का percent variable define किया है. उसके बाद get_percent function call किया है जो ऊपर define किया था. इस function को हमने 2 parameter 500 और 360 दिए हैं. यहाँ parameter का क्रम भी important है. इस function को call करने पर ऊपर वाला function run होना शुरू हो जायेगा, जिसमे total_marks की value 500 और obtained_marks की value 360 चली जायेगी. इन values के basis पर get_percent percent की value 80 निकालकर return कर देगा.
percent = get_percent(500, 360);
यह लिखने पर get_percent जो भी return करेगा वह percent में store जायेगा. उसके बाद हम main() के अंदर ही percent print कर रहे हैं. इसी तरह एक बार और get_percent function को call करके जो value आती है उसे percent variable में store करके print कर रहे हैं.
यहाँ एक बात note करें कि main भी एक function है जो कोई भी parameter नहीं लेता(इसलिए main() लिखा है () में कुछ नहीं लिखा) और int return करता है इसीलिए हम अंत में हर बार return 0; लिखते आ रहे हैं. जब हम कोई भी C program run करते हैं तो सिर्फ उसका main function call होता है. main के अंदर हम जो जो function call करते हैं वो उसी sequence में call होते हैं. अंत में जब main function के अंत में पहुँच जाते हैं तो program finish हो जाता है. अगर आप किसी ऐसे program को run करे जिसमे main function न हो तो वह कुछ इस तरह कि error देगा कि main method not found.

अब हम एक और program देखते हैं जो division भी print करे. इसे run करके देखें.
#include <stdio.h>
void get_percent(int total_marks, int obtained_marks) {
  int percent = obtained_marks*100/total_marks;
  if(percent >= 60) {
    printf("Congrats!! You passed in 1st division.\n");
    printf("Your percentage is %d.\n",percent);
  }
  else if(percent >= 45) {
    printf("You passed in 2nd division.\n");
    printf("Your percentage is %d.\n",percent);
  }
  else if(percent >= 33) {
    printf("You just passed in 3rd division.\n");
    printf("Your percentage is %d.\n",percent);
  }
  else {
    printf("Sorry! you failed.\n");
    printf("Your percentage is %d.\n",percent);
  }
}
int main() {
  get_percent(500, 360);
  get_percent(500, 340);

  int abc;
  scanf("%d", &abc);
  return 0;
}

इस example में get_percent function division भी print कर रहा है. इसमें पहले वाले function से थोडा difference यह है कि यह function ही सब कुछ print कर रहा है इसलिए main में अलग से print करने कि जरुरत नहीं है. शुरू में void लिखा गया है इसका मतलब है कि यह function कुछ return नहीं करेगा, इसलिए main में function को सिर्फ call किया गया है, जबकि पहले वाले example में जो value function return कर रहा था उसे एक variable में store कर रहे थे.
Exercise:
1. एक function print_month लिखो जिसे एक int parameter दे जो किसी महीने का number होगा और वह function महीने का नाम print कर दे. जैसे अगर हम उसे 10 दे तो वह October print कर दे. इस function को कुछ return नहीं करना चाहिए, सिर्फ print करना चाहिए. उसके बाद इस function को main से अलग अलग parameter देके call करें.
2. ऊपर वाले program में main में पहले scanf का use करके input ले और इस input parameter के साथ print_month call करें.
अगले लेख में हम कुछ और example देखेंगे.
अगर आपको यह लेख पसंद आया हो तो अपने दोस्तों को भी बताएं क्योंकि ये उनके लिए भी उपयोगी सिद्ध हो सकता है !! नीचे दिए गए link के माध्यम से इसे आसानी से facebook twitter और Google Buzz पर भी Share कर सकते हैं.

[14]-SCOPE OF VARIABLE


आज Hindi के इस C/C++ programming language tutorial को आगे बढ़ाते हुए हम function के कुछ examples के द्वारा variable के scope के बारे में जानेंगे. अगर आपको C function और C variables का ज्ञान नहीं है तो पहले इन्हें पढ़ लें.

What is scope
C में किसी variable के scope का मतलब यह है कि उस variable को declare या define करने के बाद कहाँ कहाँ पर उसकी value पढ़ सकते हैं. अगर हमने किसी function के अंदर कोई variable x define किया है तो उस function के अंदर कहीं भी उस variable को read/write कर सकते हैं परन्तु किसी अन्य function के अंदर नहीं. अगर किसी loop के अंदर कोई variable define किया है तो उस loop के अंदर कहीं भी उस variable को read/write कर सकते हैं परन्तु उसके बाहर नहीं.
इसे समझना बहुत आसान है. किसी भी {...} के अंदर define किया गया variable उसके अंदर कहीं भी read/write किया जा सकता है परन्तु उसके बाहर नहीं. इसे हम नीचे दिए गए example से समझेंगे.
नीचे दिए गए program में हम एक register बनायेंगे जिसमेकोई भी नाम add कर सकते हैं और सभी नामों को print कर सकते हैं. program को run करने पर एक Menu आयेगा जिसके द्वारा हम उस register में name add कर सकते हैं या register के सभी नामो को print कर सकते हैं.
#include <stdio.h>
char list[10][20]; 
int length = 0;
void add_name() {
  if(length >= 10) {
    printf("list is full\n");
    return;
  }
  printf("Enter the name: ");
  scanf("%s", list[length]);
  length = length + 1;
  printf("name added\n");
}
void print_list() {
  int i = 0;
  for(i=0; i < length; i++) {
    int serial_no = i + 1;
    printf("%d : %s\n", serial_no, list[i]);
  }
}
int main() {
  int input = 0;
  while(input != 3) {
    if(input == 0) {
      printf("0 - Print this menu\n");
      printf("1 - add name to list\n");
      printf("2 - print list\n");
      printf("3 - quit program\n");
    }
    else if(input == 1) {
      add_name();
    }
    else if(input == 2) {
      print_list();
    }
    else {
      printf("Wrong Input, try again\n");
    }
    scanf("%d", &input);
  }
}

ऊपर दिए गए program को run करने पर शुरू में एक menu print होगा जो यह बताएगा कि क्या enter करने पर क्या होगा. List में नाम add करने के लिए 1 press करके enter करें, इसके बाद या पूछेगा कि कौन सा नाम add करना है. नाम type करके enter करें. फिर से दूसरा नाम add करना हो तो फिर से 1 enter करें. List print करने के लिए 2 Enter करें. पहले इस program को run करके देखें फिर इसे समझते हैं कि यह कैसे काम करता है.

अब देखते हैं कि यह कैसे काम करता है. शुरू में हमने 2 variable list और length declare किया है. चूंकि ये दोनों variable किसी function के अंदर नहीं बल्कि सबसे बाहर हैं इसलिए इन्हें किसी भी function या loop के अंदर से read/write कर सकते हैं. नियम यह है कि variable जिस {} के अंदर declare किये गए हैं उससे बाहर कहीं भी access नहीं किये जा सकते, उसके अंदर कहीं भी access किये जा सकते हैं.
अब आते हैं char list[10][20]; पर. अगर सिर्फ char list[10]; होता तो इसका मतलब यह होता कि list एक array है जिसमे 10 char आ सकते हैं. पर यहाँ char list[10][20]; है इसका मतलब है कि list एक array है जिसमे 20 char वाली 10 array आ सकती हैं. यहाँ 10 char की जगह 10 array आएँगी और हर एक array 20 char वाली होगी.
अगर int a[2][3] होता तो इस तरीके से देख सकते हैं.
a = {  {1,2,3} ,   {4,5,6}   };

यहाँ पर a के अंदर 2 array आ सकती हैं एक array a[0] में और एक a[1] में. उन दोनों array में 3 3 int आ सकते हैं.
char list[10][20]; का use नाम store करने के लिए करेंगे. हम देख चुके हैं कि नाम string है जिसे char array में store करते हैं. यहाँ list में 10 char array आ सकती हैं इसलिए इसमें हम 10 नाम store कर सकते हैं. हर एक array में 20 char आ सकते हैं इसलिए हम वही नाम store कर सकते हैं जिसमे 20 या उससे कम letter हो. दूसरा variable length या बताता है कि currently list में कितने नाम हैं, जोकि शुरू में 0 है.
इसके बाद add_name function है जिसे call करने पर यह list में एक नाम add कर देगा. पहले हम check करते हैं अगर list में 10 नाम आ चुके हैं तो return का use करके function को वहीँ समाप्त कर देते हैं, अन्यथा scanf का use करके list variable में सीधे नाम read कर लेते हैं. ध्यान दें कि scanf का पहला argument "%s" है जो कि string read करता है इसलिए दूसरा argument char array होना चाहिए. list[0], list[1], list[2] ... list[19] सभी 20 char वाली array हैं.
list में नाम add होने के बाद हम length 1 बढ़ा देते हैं. list[length] हमें list में हमेशा अगली खाली जगह दे देगा क्योंकि शुरू में list खाली है इसलिए list[length] (length=0) वाली char array खाली है. एक नाम list[0] में add होने के बाद length = 1 हो जायेगा, अब list[length] (length = 1) वाली array खाली है.
इसके बाद print_list function define किया है, जिसे length से यह पता चल जाता है कि list में कितने नाम हैं उतना ही for loop से print कर लेते हैं. यहाँ for loop के अंदर एक variable serial_no define किया है जो उस loop के बाहर से access नहीं होगा.

अंत में main function है जहाँ program run होना start होता है. जिसमे if-else statement का use करके input variable की value के according list में नाम add करते हैं, list print करते हैं, menu print करते हैं. इस पुरे if-else को while loop के अंदर लिखा गया है, जो कि तब तक run होगा जब तक input की value 3 नहीं हो जाती. while loop खत्म होने से पहले input variable में scanf का use करके input read करते हैं, अगर input 3 है तो while loop खत्म होके program finish हो जायेगा otherwise while loop के अंदर फिर से आकर input value के according if-else का use करके list में नाम add करते हैं, list print करते हैं, menu print करते हैं और फिर से input variable में scanf का use करके input read करते हैं.
अगले लेख में हम function के बारे में जानेंगे जो कि बहुत important है.

Monday, 15 February 2016

BLOG (WEBSITE) KE POST KO COPY YA CHORI HONE SE KAISE BACHAYE




Hello blogger Aaj mai aapko aisi Trick batane ja raha hu jiski madad se aap apne blog ke Article (Post) ko Copy ya Chori hone se bacha sakte hai.
Dosto ham bahut mehnat karke Post ko likhte hai aur ussi post ko aur koi Copy karke apne blog par paste karke post kar deta hai jiski wajha se hamare visitor kam ho jate hai. To mai ek Code ke bare me batane ja raha hu usse apne blog me laga kar apne post ko copy hone se bacha sakte hai us code ke wajha se aapke blog par na to cursur drag hoga aur na hi Right click hoga aur jab Right click nahin hoga to usse koi copy nahin kar sakta hai. To Chaliye jante hai post ko copy hone se kaise bachaye bas aap mujhe Step by Step follow kare.




Blog Par Right Click Ko Block Kaise Kare

Step 1 :----
Sabse pahle aap apne blog ke Dashboard me jaye aur Layout Par click kare.





Step 2 :----
Uske baad Add a Gadget par click kare.



 



Step 3 :----
Add a Getged par click karte hi ek popup window open hoga usme HTML/Java Script par click kare.




Step 4 :----
HTML/Java Script par click karne ke baad ek page open hoga usme niche diye Code ko Copy karke us page me Paste kare.

<script src='demo-to-prevent-copy-paste-on-blogger_files/googleapis.js'></script>
<script type='text/javascript'>
if (typeof document.onselectstart!="undefined" ) {
  document.onselectstart=new Function ("return false" );
} else {
  document.onmousedown=new Function ("return false" ); document.onmouseup=new Function ("return true" );
}
</script>




1.   Yaha par code ko Paste kare,
2.   Phir Save par click kare,


Step 5 :----
Ab finaly Save Arrangement par click kare.


Ab aapke blog par na to Cursur Drag hoga aur na hi Right click hoga. Ab aapke blog se koi post ki copy nahin kar sakta.

Note :--- Ye trick kabhi-kabhi kisi browser me kaam nahin karta hai waise zayada browser me kaam karta hai.