for loop ব্যবহার না করে কিভাবে একটি এর‌্যের i তম স্থান থেকে j তম স্থানের যোগফল বার করবো।কিছুতেই মাথায় আসছে না।কেও সাহায্য করলে ভাল হত। i ও j মান যেকোনো হতে পারে।

asked 13 Mar '15, 11:48

Sanchari's gravatar image

Sanchari
27710


রিকারসিভ ফাংশন দিয়ে করতে পারেন। যদি সবসময় i <= j হয়, তাহলে ফাংশনটা কিছুটা এরকমঃ

int sum(int arr[], int i, int j)
{
    if (i == j)
    {
        return(arr[i]);
    }
    else
    {
        return(arr[i] + sum(arr, i+1, j));
    }
}

তবে আপনি বলেছেন for লুপ ব্যবহার না করে করতে হবে। while লুপ ব্যবহার করার কথা কিছু বলেননি। সুতরাং while লুপ দিয়েও করা যায়ঃ

sum = 0;
while (i <= j)
{
    sum += arr[i];
    i++;
}
permanent link

answered 17 Mar '15, 15:54

CluelessNoob's gravatar image

CluelessNoob
2576

এ্যারের i তম স্থান থেকে j তম স্থানের মানের যোগফল লুপ ছাড়া বের করা সম্ভব না, যদি না এ্যারেতে রাখা সংখ্যাগুলো কোনো একটা নির্দিষ্ট সমান্তর বা গুণোত্তর ধারা হিসেবে থাকে। কোনো ল্যাংগুয়েজের কোনো লাইব্রেরী ফাংশনও যদি থাকে sum() নামে, সেটাতেও মূলত লুপ ঘুরিয়েই যোগফলটা বের করা হচ্ছে, সেই লাইব্রেরীর ইমপ্লিমেন্টেশন কোড দেখলেও সেটা বোঝা যাবে।

permanent link

answered 15 Mar '15, 09:59

alavola's gravatar image

alavola
313

suppose a[n] একটি এ্যারে; a[i]+a[i+1]+a[i+2]...+a[j], এভাবে manually কি লুপ ছাড়া যোগ করা সম্ভব না @alavola? সমান্তর বা গুণোত্তর ধারা হতে হবে কেন? আমারতো মনে হয় ধারা ছাড়াও সম্ভব।

permanent link

answered 16 Mar '15, 18:50

liberal's gravatar image

liberal
439

edited 16 Mar '15, 19:12

i আর j এর মান না জানলে সেটা কীভাবে সম্ভব? আর এটি কোনো উত্তর নয়, এটি আগের উত্তরের কমেন্ট হতে পারতো।

(17 Mar '15, 05:57) 0605002

আমি আসলে কমেন্টই করতে চেয়েছিলাম। কিন্তু কিভাবে করব সেটা তখন না পেয়ে answer এ লিখেছি। আমি দেখলাম যে আমি শুধু আমার answer এই comment করতে পারি অন্যদের answer এ comment করার কোন স্থান না পেয়ে আমি সরাসরি answer করেছি... sorry for that...Sanchari ভাই এর question দেখে আমার কাছে মনে হয়েছে i আর j এর মান আমার ইনপুটের উপর depend করে. যেমনঃ ধরুন, a[5] একটি array.a[0]=2,a[1]=5,a[2]=1,a[3]=2,a[4]=3. এখন আমার প্রয়োজন array a[5] এর i=২ থেকে j=4 তম স্থানের যোগফল বার করবো। তাহলে কেন আমি সরাসরি a[2]+a[3]+a[4] লিখতে পারব না? i এবং j এর মান অবশ্যই যে কোড করছে তার ইনপুটের উপর depend করে আমার মনে হয়, but not sure.

(17 Mar '15, 11:58) liberal

i আর j এর মান যদি ইনপুট থেকেই আসে তাহলে তো লুপ ছাড়া সম্ভব না। আর এভাবে টানা যোগ করতে হলে তো i আর j এর কোনো প্রয়োজনই নেই। প্রত্যেকবার যোগ করার আগে প্রোগ্রামটা নতুন করে লিখতে হবে।

(17 Mar '15, 14:27) 0605002

এই কাজ টা লুপ ছাড়া করতে হলে রিকারসিভ ফাংশন দিয়ে করতে হবে।

permanent link

answered 28 Jun '15, 12:04

JomirSky's gravatar image

JomirSky
364

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×401
×56

question asked: 13 Mar '15, 11:48

question was seen: 1,522 times

last updated: 28 Jun '15, 12:04