Lanka Developers Community

    Lanka Developers

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Shop

    C Programming මුල සිට ඉගෙනගනිමු (part 11 - for loop)

    Blogs
    c programming
    4
    4
    797
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Kalana
      Kalana last edited by

      සුබ දවසක් වේවා ඔයාලට. කලින් ලිපියේ මන් do-while loop එක ගැන කතා කලා. අද මන් කතා කිරීමට බලාපොරොත්තු වෙන්නේ for loop එක ගැන. මෙම loop එකෙන් කරන්නේද් අනිත් loop වර්ග දෙකෙන් කරන කාර්යයම වේ. මෙහි ක්‍රියාකාරිත්වය වැඩි වශ්‍යෙන් සමාන වන්නේ while loop එකේ ක්‍රියාකාරිත්වයටයි. සාමාන්‍යයෙන් loop වලින් වැඩි වශයෙන් අප භාවිතා කරන loop එක වන්නේද for loop එකයි. පලමුව මන් මෙහි ආකෘතිය ගෙනහැර දක්වන්නම්.

      for (initialization; condition test; increment or decrement)
      {
          //Statements to be executed repeatedly
      }
      

      මන් ඉහත ආකෘතිය උදාහරණයක් මගින් පැහැදිලි කරන්නම්. අපි මේ ආකෘතිය යොදා ගනිමින් 1 සිට 10 ට දක්වා ඇති සංඛ්‍යා diplay කරමු.

      #include <stdio.h>
      
      int main()
      {
         int i;
         
         for (i = 1 ; i <= 10 ; i++)
         {
             printf("%d ", i);
         }
         
         return 0;
      }
      
      Output -: 1 2 3 4 5 6 7 8 9 10
      

      ඉහත උදාහරණයෙන් ඔබට පෙනෙනවා ඇති while loop එකේදී අපි තැන තැන භාවිතා කල සියලු loop එකට අදාල කොටස් for loop එකේදී එක තැනකට ඇවිත් ඇති බව. මෙය මූලික ආකෘතිය වුවත් මෙය භාවිතා කල හැකි අනු ආකෘති කිහිපයක් පවතිනවා. එනම්

      1. i++ වෙනුවට i = i + 1 භාවිතා කල හැකිය.
      for (i = 1 ; i <= 10 ; i = i + 1)
      {
          printf("%d ", i);
      }
      
      1. for loop එකේ i වල අගය විශේෂණය කර ඇති කොටස එනම් i = 1 කියන කොටස for loop එක එලියෙන් මෙසේ ලිවිය හැකිය. නමුත් ; ලකුණ තිබෙන පරිදි තිබීමට දිය යුතුය.
      int i = 1;
      
      for ( ; i <= 10 ; i++)
      {
          printf("%d ", i);
      }
      
      1. i++ හෙවත් i වල අගය ඉදිරියට ගෙනියන code එක අපට for loop එක ඇතුලත් ඕනෑම තැනක යෙදීමට පුලුවන් වේ. මෙහිද ; ලකුණ තිබෙන පරිදි තිබීමට දිය යුතුය.
      for (i = 1 ; i <= 10 ; )
      {
          printf("%d ", i);
      	i++;
      }
      
      1. i = 1 කොටස හා i++ යන කොටස් දෙකම for එක තුලින් ඉවත් කොට while loop ආකෘතිය මෙන් ලිවීමට හැකියාව ඇත.
      int i = 1;
      
      for ( ; i <= 10 ; )
      {
          printf("%d ", i);
      	i++;
      }
      
      1. i++ විතරක් නොව i වල අගය අඩු කල හැකි i-- ද අපට for loop එකක භාවිතා කල හැකිය.
      for (i = 10 ; i >= 1 ; i--)
      {
          printf("%d ", i);
      }
      
      Output -: 10 9 8 7 6 5 4 3 2 1
      

      මේකෙදිත් මන් ඔයාලට ප්‍රශ්න දීමට බලාපොරොත්තු වෙන්නේ නෑ. මොකද while loop ලිපියේ දීපු ප්‍රශ්න මේකෙදිත් ඔයාලට කරන්න පුලුවන් නිසා. ඒ උණත් මන් for loop එකට ආවේණික ප්‍රශ්න කිහිපයක් කරන්නම්.

      Question -: Write a C program to print below format using for loops.

      *******
      *******
      *******
      *******
      

      for loop කිහිපයක් යොදා ගනිමින් ඉහත හැඩතලය නිරූපණය කරන program එකක් code කරන්න කියලා අපට කියනවා. අපි මෙය පියවර වශයෙන් පැහැදිලි කරගම්මු.

      • අපි පලමුව මෙම මුළු හැඩතලයෙන් කොටසක් එනම් පලමු පේලිය(*******) පමණක් for loop එකක් මගින් output කරමු .
      #include <stdio.h>
      
      int main()
      {
          int i;
          
          for(i = 1 ; i <= 7 ; i++)
          {
              printf("*");
          }
          return 0;
      }
      
      Output -: *******
      
      • ඔබට පෙනෙනවා ඇති එක for loop එකක් මගින් එක් පේලියක් කැමති තරු ගණනකින් පිරවිය හැකි බව. නමුත් අපට අවශ්‍ය වන්නේ ඒ වගේ පේලි 4ක් වේ. තරු 7ක් Output කරන්න එක් for loop
        එකක් අවශ්‍ය නම් ඒ වගේ තරු 7 පේලි 4 ගැනීමට අවශ්‍යනම් තව for loop එකක් අව්ශ්‍ය බව ඔබට පෙනෙනවා ඇති. අපි එය මේ විදිහට කරමු.
           තීරු තීරු
      පේලි  *    *    
      පේලි  *    *
      පේලි  *    *
      

      තීරු ගණන වන තීරු 7 ඉහත for loop එක මගින් අප අරගෙන ඉවර නිසා පේලි 4 ගන්න විදිහ දැන් බලමු.

      • තීරු -: columns
      • පේලි -: raws
      #include <stdio.h>
      
      int main()
      {
          int raw; //පේලි ගණන නිරූපණය කරන variable එක
          int col; //තීරු ගණන නිරූපණය කරන variable එක
          
          for(raw = 1 ; raw <= 4 ; raw++) //පේලි 4ක් print කිරීමට යොදා ගනී.
          {
              for(col = 1 ; col <= 7 ; col++) // තීරු 7ක් එනම් තරු 7 print කිරීමට යොදා ගනී
              {
                  printf("*");
              }
              printf("\n"); //තීරු 7ක් එනම් තරු 7ක් print වීමෙන් අනතුරුව ඉතුරු තරු 7 ඒවා පහලින් පහලට print කිරීමට මෙය යොදා ගනී.
          }
          return 0;
      }
      
      Output -:*******
               *******
               *******
               *******
      

      ඔයාලට තරු රටා පිලිබද වැඩි දුරටත් ඉගෙන ගන්න ඕනනම් මන් ලින්ක් කිහිපයක් දාන්නම් නැත්තම් Google search bar එකට ගිහින් star patterns in C කියලා search කරන්න.
      Link1 -: https://codeforwin.org/2015/07/star-patterns-program-in-c.html
      Link2 -: https://www.programiz.com/c-programming/examples/pyramid-pattern
      Link3 -: https://www.programmingsimplified.com/c-program-print-stars-pyramid

      මන් ඔයාලට සරල වගේම ටිකක් සංකීර්ණ ගැටලු කිහිපයක් දෙන්නම්, නිකන් ඉන්න වෙලාවට කරලා බලන්න.

      Question 1 -: Write for statements that print the following sequence of values:

      a) 3, 8, 13, 18, 23
      b) 20, 14, 8, 2, -4, -10
      c) 19, 27, 35, 43, 51
      

      answer for a -: https://drive.google.com/open?id=1hT_MzDFb7UBIscO1UpGnFXtPbykzjHH2
      answer for b -: https://drive.google.com/open?id=1PAuJdwDuWA1_VflDKTaNLW_hLax-Poeg
      answer for c -: https://drive.google.com/open?id=1HpibNCAQ7lV-Ed-OAt8pm_ktvGjWLIxl


      Question 2 -: Write a C program using for loops to display the following pattern on the screen

      *
      **
      ***
      ****
      *****
      ******
      *******
      *******
      *****
      ***
      *
      

      answer -: https://drive.google.com/open?id=147j8QuV7y-tSYNKTsRGkSoIq1ADAvWgU


      Question 3 -: Calculate the value of pie(3.14) from the infinite series

      = 4 − 4/3 + 4/5 - 4/7 + 4/9 - 4/11 + ....
      

      Print a table that shows the value of pie approximated by one term of this series, by two terms, by
      three terms, and so on. How many terms of this series do you have to use to get 3.14159?

      answer -: https://drive.google.com/open?id=1AC1XYfbCRTj3PU5NPZjkiDC1MUj5mNmZ


      Question 4 -: The factorial of a nonnegative integer n is written n! and is defined as follows:

      n! = n * (n-1) * (n-2) * ……1
      

      and

      n! = 1 (for n =0)
      

      For example, 5! = 5 * 4 * 3 * 2 * 1, which is 120
      Write a C program that reads a nonnegative integer and computes and print its factorial using a
      for loop.

      answer -: https://drive.google.com/open?id=1Pjo-p8CKhgnJ5WxuM6naT2El-mJ3pjpX


      • C programm එකක් windows වල run කරන විදිහ --> https://bit.ly/2O6rLXR

      ඔබට අවශ්‍යනම් ඔබේ බ්‍රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්

      • https://www.onlinegdb.com/online_c_compiler
      • https://www.tutorialspoint.com/compile_c_online.php
      • https://repl.it/languages/c

      සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site කිහිපයක් මන් දාන්නම්

      • https://www.geeksforgeeks.org/c-programming-language/
      • https://www.tutorialspoint.com/cprogramming/index.htm
      • https://beginnersbook.com/2014/01/c-tutorial-for-beginners-with-examples/

      web url කෙටි කරන්න lankadevelopers ලා හදපු එයාලගෙම සයිට් එකක් තියෙනවා. -> https://link.lankadevelopers.com/

      මගේ කලින් ලිපි

      • C Programming මුල සිට ඉගෙනගනිමු(part 1 - Introduction) -: https://link.lankadevelopers.com/4WpH
      • C Programming මුල සිට ඉගෙනගනිමු (part 2 - Variables) -: https://link.lankadevelopers.com/mXio
      • C Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators) -: https://link.lankadevelopers.com/SHNt
      • C Programming මුල සිට ඉගෙනගනිමු (part 4 - Input & Output functions) -: https://link.lankadevelopers.com/2MNku
      • C Programming මුල සිට ඉගෙනගනිමු (part 5 - create simple applications) -: https://link.lankadevelopers.com/KUF6
      • C Programming මුල සිට ඉගෙනගනිමු (part 6 - Decision making(if-else statement - part 1)) -: https://link.lankadevelopers.com/8Xe71
      • C Programming මුල සිට ඉගෙනගනිමු (part 7 - Format Specifiers in C) -: https://link.lankadevelopers.com/761PT
      • C Programming මුල සිට ඉගෙනගනිමු (part 8 - Switch Statement) -: https://link.lankadevelopers.com/7jncK
      • C Programming මුල සිට ඉගෙනගනිමු (part 9 - While loop) -: https://link.lankadevelopers.com/4TBV5
      • C Programming මුල සිට ඉගෙනගනිමු (part 10 - do-while loop) -: https://link.lankadevelopers.com/4WcNd

      මන් ඊළග ලිපියෙන් කියලා දෙන්නම් arrays ගැන . මගේ ලිපි වල අඩුපාඩු තියෙනවනම් දන්නේ නැති දේවල් තියෙනවනම් පහලින් කමෙන්ට් එකක් දාන්න.
      තව ලිපියකින් හම්බෙමු ජය වේවා.

      1 Reply Last reply Reply Quote 3
      • root
        root Linux Help last edited by

        Niyamai bro

        1 Reply Last reply Reply Quote 1
        • dev_lak
          dev_lak last edited by

          niyamai bro

          1 Reply Last reply Reply Quote 1
          • codedebugger
            codedebugger last edited by

            Thank you so much. Great post! Here are some new pattern programs in C
            https://techstudy.org/cLanguage/starPattern

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            • First post
              Last post

            2
            Online

            3.7k
            Users

            1.3k
            Topics

            5.3k
            Posts

            • Privacy
            • Terms & Conditions
            • Donate

            © Copyrights and All right reserved Lanka Developers Community

            Powered by Axis Technologies (PVT) Ltd

            Made with in Sri Lanka

            | |