Showing posts with label swap. Show all posts
Showing posts with label swap. Show all posts

Thursday, 12 October 2017

Swap (অদল-বদল)

Swap প্রোগ্রামিং এর একটি গুরুত্বপূর্ণ বিষয়। সহজ কথায় swap হলো দুই বা ততোধিক কিছুর মধ্যে অদল-বদল করা।

আগে একটি উদাহারণ দেই।

মনেকরো, আমাদের কাছে দুইটা বালতি আছে। একটা বালতির রঙ লাল এবং অন্য বালতির রঙ নীল।  লাল বালতিতে আছে গাভীর খাঁটি দুধ। আর নীল বালতিতে আছে বিশুদ্ধে পানি।
দুধের পরিমাণ ১ লিটার এবং পানির পরিমাণও ১ লিটার। এবার যদি তোমাকে বলা হয় নীল বালতিতে দুধ রাখতে হবে এবং লাল বালতিতে পানি রাখতে হবে। কিন্তু দুধ বা পানি যে পরিমাণ আছে সে পরিমাণই থাকবে কোন পরিবর্তন যেন না হয়।

তাহলে তুমি সহজেই তৃতীয় আরেকটি বালতি দিয়ে কাজটি করতে পারো।
মনেকরো তুমি আরেকটি বালতি আনলে যার নাম দিলাম টেম্পোরারি বালতি।

  1.  তুমি প্রথমে টেম্পোরারি বালতিতে দুধ রাখলে। তাহলে,এখন তোমার দুধের বালতি খালি। 
  2. দুধের বালতিতে তুমি পানি রাখলে। এবার তোমার পানির বালতি খালি। 
  3. এখন টেম্পোরারি বালতি থেকে পানির বালতিতে দুধ রাখলে।

এবার লক্ষ্য করে দেখো তোমার দুধের বালতিতে পানি এবং পানির বালতিতে দুধ চলে গেছে। নিচের ছবিটি দেখোঃ






এবার চলো আমরা একটা প্রোগ্রাম দেখিঃ 
#include<stdio.h>
int main()
{
    int a,b,temp;

    a=10, b=20;

    temp=a;
    a = b;
    b= temp;
    
    /* Now a = 20 and b = 10 */
    printf(" a = %d\n b = %d\n",a,b);
    return 0;
}

আশা করি বোঝতে পেরেছো। না পারলে শুরু থেকে আবার চেস্টা করো।