10 August 2015



সাধারনত কোডে ৩ ধরনের এরর দেখা যায়ঃ


১) Compilation Error.

২) Run-time Error.

৩) Wrong Answer/ Logical Error.

1) Compilation Error: প্রত্যেক ল্যাংগুয়েজ এর অনেকগুলা নির্দিষ্ট সিনট্যাক্স থাকে । যদি কেউ সিনট্যাক্স লিখতে ভুল করে তাহলে অনলাইন জাজ তার কোডকে Compilation Error দেখাবে ।
এই ভুল্টা ভুল্গুলা বেশির ভাগ মানুষ করে সেমিকোলন দিতে গিয়ে। বেশির ভাগ প্রোগ্রামার সেমিকোলন দিতে ভুলে যায়।


প্রতিকারঃ Compilation Error দেখে ভয় পাবার কিছু নাই। কোন কোডে সিনট্যাক্স ভুল থাকলে এটা সহজেই সমাধান করা যায়। লাইন বাই লাইন চেক করলে ভুল্টা সহজেই পাওয়া যাবে। অথবা IDE তেই কম্পাইল করলে এরর মেসেজ শো করবে এবং কোন লাইন এ ভুল্টা তাও বলে দিবে ।
সুতরাং লাইন বাই লাইন চেক করে সেমিকোলন চেক করা যেতে পারে।

2) Run-time Error: যেকোন কম্পাইলার লাইন বাই লাইন সকল কোড কম্পাইল করে । এভাবে কম্পাইল করতে গিয়ে যদি কম্পাইলার শেষ পর্যন্ত যেতে না পারে অর্থাৎ কোডের মাঝপথে কোথাও এসে আটকে যায় তাইলে সেটা হচ্ছে Run-time Error। এটা হওয়ার কারন হচ্ছে ইনপুট নিতে ভুল করলে অথবা কোন সংখ্যাকে ০ (শুন্য) দিয়ে ভাগ করার চেস্টা করলে এমনটা হতে পারে।

প্রতিকারঃ ১) ০ (শুন্য) দিয়ে কোন সংখ্যাকে ভাগ করার চেস্টা না করা।

২) ইনপুট নেওয়ার সময় & চিহ্ন এবং % চিহ্ন সঠিক ভাবে বসানো ।

৩) ইকুয়ালিটি চেক করার সময় একটা কমন ভুল হচ্ছে ‘==’ সমান চিহ্ন ব্যবহার এর পরিবর্তে একটা ‘=’ চিহ্ন ব্যবহার করা। তাই এটার প্রতি পূর্ণ মনযোগ দেওয়া ।

৪) রেস্ট্রিক্টেড কী- ওয়ার্ড কে ভেরিয়েবল হিসেবে ব্যবহার না করা ।

৫) কোন লুপ ইনফাইনেট যাতে না হয় সেদিকে খেয়াল রাখা।

3) Wrong Answer/ Logical Error: এই এরর টাই সবচেয়ে বেশি জালায় প্রোগ্রামার দের । পুরা কোড ঠিকঠাক মত রান করবে কিন্তু আউটপুট ভুল দেখাবে। এর মানে হচ্ছে যেই লজিকে সমস্যাটা সমাধান করলে ঠিকঠাক আউটপুট আসত সেই লজিক আমি ব্যবহার করি নাই। আবার দেখা স্যাম্পল ইনপুট এর সকল ইনপুট দিয়ে ঠিকঠাক অউটপুট আসে কিন্তু কিছু হিডেন ইনপুট সেট ও থাকে কিন্তু সেগুলা দিয়ে ঠিকঠাক আউটপুট আসে না যার ফলে Wrong Answer দেখায়।

প্রতিকারঃ ১) ঠান্ডা মাথায় চিন্তা করে যেকোন সমস্যার সমাধান করার চেষ্টা করা।

২) সম্ভাব্য সকল ইনপুট দিয়ে চেক করা এবং না হলে লজিক চেঞ্জ করে পুনরায় সমাধান করার চেষ্টা করা ।

৩) প্রকৃত পক্ষে সমস্যায় কি চাওয়া হয়েছে তা ভালমত বুঝে লজিক সেট করা ।

কিছু পরামর্শঃ১) কন্টেস্ট শুরু হওয়ার আগে, আপনি যে IDE ব্যবহার করতে চান, সেই IDE ( কোডব্লক্স, নেটবিন্স, টারবু সি) ওপেন করে একটি ‘Hello World’ প্রোগ্রাম লিখে IDE টেস্ট করে দেখা । কারন অনেক সময় কোন কোন পিসিতে IDE সমস্যা করে ফলে কন্টেস্ট এর সময় নস্ট হয়।

২) হাতের কাছে কাগজ কলম রাখা। অনেক সমস্যায় মেথ থাকে যা কাগজে কলমে আগে করে নিতে হয়।

৩) যে সমস্যাটা সহজ মনে হয় সেটা দিয়ে শুরু করা।

৪) একবেরে সিউর না হয়ে কোন প্রবলেম এ হাত দেওয়া ঠিক নয় । কারন মাঝ পথে আটকে গেলে মাথা ঠান্ডা রাখা কঠিন হয়ে যাবে ।

৫) অন্যরা কোন প্রোব্লেমটা বেশি সল্ভ করেছে , এটা দেখেও বুঝা যায় কোন প্রোব্লেমটা সহজ।

আজ এই পর্যন্তই আবার দেখা হবে ইনশাআল্লাহ । লেখা জনিত ত্রুটি মার্জনীয় ।

 লেখকঃ মোঃ আব্দুল্লাহ সালেহ

Posted on Monday, August 10, 2015 by ICT Lab

1 comment

12 March 2015

#include<stdio.h>
//__Author__MAS__

int main()
{
    while(1==1)
    {
        int n, num, rev, dig, nth, count = 0, m;
        printf("Enter a number to find nth palindrome: ");
        scanf("%d", &nth);
        m = 1;
        while(1==1)
        {
            num = m;
            n = num;

            rev = 0;
            while (num > 0)
            {
                dig = num % 10;
                rev = rev * 10 + dig;
                num = num / 10;
            }
            if(n ==  rev)
            {
                count = count + 1;
                if (count == nth)
                    {
                        printf("%d is %d th palindrome number\n", n, nth );
                        break;
                    }
            }
            m = m + 1;

        }
    }


    return 0;

}

Sample Input: 100

Sample Output: 


Posted on Thursday, March 12, 2015 by ICT Lab

2 comments

26 December 2014

পৃথিবী কাঁপানো সেরা ১২ জন প্রোগ্রামার নিয়ে আমাদের আজকের আলোচনা যারা কোড লিখেন না শুধু , কোড তৈরী ও করেন। এই ১২ জন বর্তমান প্রোগ্রামিং এর  জগতের সেরা নক্ষত্র। এই লিস্ট টি করেছেন IT World এর একজন সম্পাদক Phil Jhonson । প্রথমেই দেখে নেই কারা এই ১২ জন?
1) Jon Skeet
2) Gennady Korotkevich
3) Linus Torvalds
4) Jeff Dean
5) John Carmack
6) Richard Stallman
7) Petr Mitreachev
8) Fabrice Bellard
9) Doug Cutting
10) Donald Knuth
11) Anders Hejlsberg
12) Ken Thompson


আমরা প্রথমেই আলোচনা করব Jon Skeet কে নিয়েঃ

1) Jon Skeet:


          তাকে বর্তমানে সেরা প্রোগ্রামার বলে অনেকেই দাবী করেন। তার খ্যাতির মুল কারন হচ্ছে তিনি সেরা একজন stackoverflow কন্ট্রিবিউটর। ৩৮ বছর বয়স্ক এই প্রোগ্রামার এর জন্ম ইংল্যান্ড এ।

পেশাগত পরিচয়ঃ

  • তিনি C# in Depth  সাইটের মালিক।
  • Stack overflow তে উনার সবচেয়ে বেশি রেপুটেশান, যা সংখ্যায় ৭,৩৭, ৯০১ টি । 
  • তিনি বর্তমানে গুগল এ সফটওয়্যার ইঞ্জিনিয়ার হিসেবে কর্মরত । 

"তিনি এমনি একজন দক্ষ প্রোগ্রামার তার ডিবাগার (Debugger) প্রয়োজন হয় না, তিনি শুধুমাত্র বাগের (Bug) এর দিকে তীক্ষ্ণ দৃষ্টিতে তাকান যতক্ষণ না পর্যন্ত কোড তার (Bug) স্বীকার করে" 
মন্তব্যটি করেছেন Steven A. Lowe নামক একজন ভদ্রলোক।

তার সম্পর্কে একটি বহুল প্রচলিত একটি মন্তব্য হলঃ
"যখন কম্পাইলার Jon Skeet এর কোড কম্পাইল করতে ব্যর্থ হয়, তখন কম্পাইলার তার কাছে ক্ষমা চায়" 
মন্তব্যটি এনিনমাস এর।  

তার প্রোগ্রামিং দক্ষতা সম্পর্কে আরেকটি মন্তবু হলঃ 
"তিনি কোন কোডিং কনভেনশন ফলো করেন না, তিনি যা লিখেন তাই কনভেনশন"
এ মন্তব্যটি ও এনিনমাস এর। 

তিনি এখন পর্যন্ত Stack overflow তে ৩০,৭৯০ টি প্রশ্নের উত্তর দিয়েছেন গত ৬ বছরে। 
তিনি গড়ে প্রতিমাসে ৪২৫ টি প্রশ্নের উত্তর দিয়ে থাকেন। 

তার stackoverflow ID হচ্ছেঃ Jon Skeet in stackoverflow
তাকে গুগল প্লাস এ পেতে চাইলে যেতে হবে Jon Skeet in Google Plus  এখানে। 
তাকে টুইটার এ ফলো করতে চাইলে যেতে হবে Jon Skeet in Twitter এখানে ।  
তার ব্লগ অ্যাড্রেস হচ্ছেঃ Blog of Jon Skeet
তার ইউটিউব চ্যানেল হচ্ছেঃ Jon Skeet in Youtube । 


2) Gennady Korotkevich:

তিনিও বর্তমান বিশ্বের একজন অন্যতম সেরা প্রোগ্রামার। তিনি কম্পিটিটিভ প্রোগ্রামিং এর জন্য বিখ্যাত । তার জন্ম ১৯৯৪ সালের ২৫ সেপ্টেম্বর। অর্থাৎ তার বয়স মাত্র ২০ বছর। তার জন্ম রাশিয়ায়। 

 পরিচয়ঃ 
  • International Olympiad in Informatics  এর সবচেয়ে কম বয়সী কম্পিটিটর। উনি ১১ বছর বয়সে International Olympiad in Informatics  এ অংশ নেন যা ইতিহাসে প্রথম। তিনি টানা ৬ বার International Olympiad in Informatics এ গোল্ড মেডেল পান ২০০৭ থেকে ২০১২ সালের মধ্যে।
  • ২০১৩ সালের ACM icpc  ফাইনাল এ বিজয়ী দলের সদস্য ছিলেন এবং ২০১৪ সালে বিজয়ী দলের দলনেতা ছিলেন। 
  • তিনি ফেসবুক হ্যাকার কাপ জিতেছেন। 
  • তিনি CodeForces এর র‍্যাঙ্ক ওয়ান প্রব্লেম সল্ভার Gennady Korotkevich in CodeForces। 
  • ওয়ার্ল্ড আল্গরিদমিস্ট দের  মধ্যে দ্বিতীয় অবস্থানে আছেন।  
  • গুগল কোড জ্যাম ২০১৪ উইনার।
তার সম্পর্কে বলা হয়ে থাকে "একজন প্রোগ্রামিং দৈত্য"

তার ফেসবুক পেজ হচ্ছেঃ Gennady Korotkevich in Facebook (আসলেই তার কিনা জানা যায় নি)।
তার টপকোডার প্রোফাইলঃ Gennady Korotkevich in TopCoder.
তার SPOJ প্রোফাইলঃ Gennady Korotkevich in SPOJ

আজ এ পর্যন্তই অন্য কোন দিন বাকিদের সম্পর্কে জানব ইনশাআল্লাহ। 
সবাই ভাল থাকেন। সেরা প্রোগ্রামারদের কাছ থেকে অনুপ্রেরনা নিয়ে সেরা হবার পথে এগিয়ে যান।
আল্লাহ হাফেয।

লেখাঃ এম.এ. সালেহ MA Saleh
রেফারেন্সঃ উইকিপিডিয়া, গুগল, আই,টি ওয়ার্ল্ড ইত্যাদি। 
#Programming article #Top programmer  

Posted on Friday, December 26, 2014 by ICT Lab

No comments

14 November 2014



//Written bu MA Saleh
#include<stdio.h>
int main()
{
    int row, col, i, j, k, repeat;
    while(1==1)
    {
        printf("Enter number of rows of your matrix: \n");
        scanf("%d", &row);
        printf("Enter number of columns of your matrix: \n");
        scanf("%d", &col);
        if(row <=0 || col <= 0)
        {
            printf("It is not possible to add\n");
            continue;
        }

        int first_matrix[row][col], second_matrix[row][col], sum[row][col];

        for(i = 0; i < row; i++)
        {
            printf("Enter the element of row %d of first matrix(give a space between two value): \n", i+1);
            for(j = 0; j < col; j++)
            {

                scanf("%d", &first_matrix[i][j]);
            }
        }
        for(i = 0; i < row; i++)
        {
            printf("Enter the element of row %d of second matrix(give a space between two value): \n", i+1);
            for(j = 0; j < col; j++)
            {

                scanf("%d", &second_matrix[i][j]);
            }
        }

        //add two matrix
        for(i = 0; i < row; i++)
        {
            for(j = 0; j < col; j++)
            {
                sum[i][j] = first_matrix[i][j] + second_matrix[i][j];
            }
        }
        printf("\n\nYour matrix is: \n");
        for(i = 0; i < row; i++)
        {
            for(j = 0; j < col; j++)
            {
                printf("%d\t", first_matrix[i][j]);
            }
            printf("\t");
            for(k = 0; k < col; k++)
            {
                printf("%d\t", second_matrix[i][k]);
            }
            printf("\n\n");
        }
        //print the result after add two matrix
        printf("The Result is: \n");
        for(i = 0; i < row; i++)
        {
            for(j = 0;j < col; j++)
            {
                printf("%d\t", sum[i][j]);
            }
            printf("\n");
        }
        printf("\nWant to add another matrix?(1. Yes 2. No)\n");
        scanf("%d", &repeat);
        if(repeat == 1)
        {
            continue;
        }
        else
        {
            break;
        }

    }

    return 0;
// Copyright@MAS
}

Previous Post(Find Max & Min value from an array)

Posted on Friday, November 14, 2014 by ICT Lab

No comments

11 November 2014



//Written by MA Saleh
#include <stdio.h>
int main()
{
    int ara[10], i, j;
    printf("Enter 10 different number's for finding max and min value:\n");
    while(1==1)
    {
        for(i = 0; i < 10; i++)
    {
        scanf("%d", &ara[i]);
    }
        int max = ara[0];
        int min = ara[0];
        for(j = 0; j  < 10; j++)
        {
            if(max < ara[j])
            {
                max = ara[j];
            }
            if(min > ara[j])
            {
                min = ara[j];
            }
        }
            printf("The Max Value in this array is: %d \nThe min Value in this array is:  %d\n\n\n", max, min );
            printf("Again Enter 10 different number's for finding max and min value:\n");
        }
    return 0;
}
//Copyright@MAS

Sample Input: 1 2 3 4 5 6 7 8 9 10


Sample Output: 

Posted on Tuesday, November 11, 2014 by ICT Lab

No comments

10 November 2014




স্বপ্ন কি গুগল এ ক্যারিয়ার গড়া?
আপনার স্বপ্নের পথে পা বাড়াতে এখনি জেনে নিন কি করতে হবে?
লেখাটা আপনার জন্যই
--এম,এ,এস

প্রতি বছর গুগল চারবার এই আয়োজন করে থাকে। 
এটা একটা প্রোগ্রামিং প্রতিযোগিতা। এই প্রতিযোগিতায় এলগরিদম ভিত্তিক বিভিন্ন সমস্যার সমাধান করতে হয়।
BS অথবা MS অথবা Phd করতেছে এবং আগামি এক বছরের মধ্যে তাদের কোর্সটি শেষ হবে হবে তারাই এই প্রতিযোগিতায় অংশ নিতে পারবে।
প্রতিযোগিতায় সমস্যা গুলো সমাধান করার জন্য ৩ ঘন্টা সময় পাওয়া যায়। প্রতিযোগিতার পারফরমেন্স এর উপর ভিত্তি করে পয়েন্ট দেওয়া হয়। সর্বোচ্চ পয়েন্ট অর্জনকারীদের মধ্য থেকে গুগল কর্তৃপক্ষ কিছু ছাত্র কে তাদের প্রধান কার্যালয়ে সাক্ষাৎকার এর জন্য ডাকে। এবং সফল ভাবে সাক্ষাৎকার শেষ করতে পারলে আপনিও পেয়ে যেতে পারেন গুগলে চাকুরী করার সুবর্ণ সুযোগ।
এই বছর প্রতিযোগিতায় অংশ নিতে রেজিঃ করুন এখনি, এবং পরীক্ষা হবে ৯ নভেম্বর।
রেজিঃ করতে এই লিঙ্ক এ ঃ https://code.google.com/codejam/apactest
আপনি যদি একেবারে এই প্রতিযোগিতায় নতুন হয়ে থাকেন তাহলে এই লিঙ্ক এ যানঃhttps://code.google.com/codejam/apactest/quickstart.html
যারা বিভিন্ন বিশ্ববিদ্যালয়ে ১ম, ২য় বা ৩য় বর্ষের ছাত্র তাদের উচিত এখন থেকে প্রস্তুতি নেয়া।
সবার শুভ কামনায়।
আজ এই পর্যন্তই ।
আল্লাহ হাফেয ।


Previous Post(Leap Year Or Not

Posted on Monday, November 10, 2014 by ICT Lab

No comments

7 November 2014




//Written by MA Saleh
#include <stdio.h>
int main()
{
    int year;
    while(year!=0)
    {
        printf("Enter a Year<Enter 0 for exit>: \n");
        scanf("%d", &year);
        if(year!=0)
        {
            if(year%400 == 0)
            {
                printf("%d is leap year\n", year);
            }
            else if(year%100 == 0)
            {
                printf("%d is not leap year\n", year);
            }
            else if(year%4== 0)
            {
                printf("%d is leap year\n", year);
            }
            else
            {
            printf("%d is not leap year\n", year);
            }
        }
    }
    return 0;
     //Copyright@MAS
}


Sample Input: 2004 2010 0

Sample Output:


Posted on Friday, November 07, 2014 by ICT Lab

No comments

29 October 2014



//Written by MA Saleh
#include<stdio.h>
    int main()
    {
        int a, b, x;
        printf("Enter two number for LCM: ");
        while(scanf("%d %d", &a, &b) == 2)
        {
            if(a > b )
                x = a;
            else
                x = b;
            for(;x>=1; x++)
            {
                if(x%a == 0 && x%b == 0)
                {
                    printf("LCM = %d\n", x);
                    break;
                }
            }
            printf("Again enter two Number: \n");
        }
        return 0;
        //Copyright@MAS
    }

Sample Input: 10 30, 4 28


Sample Output:



Related Post(GCD)
Previous Post(GCD)

Posted on Wednesday, October 29, 2014 by ICT Lab

No comments