কোনো সংখ্যাকে ডিজিটে বিভক্ত করার জন্য ফাংশন লেখা কী সম্ভব?কারণ ডিজিট নির্ণয়ের ক্ষেত্রে আমাকে প্রতিবার number কে 10 দিয়ে mod করে ঐ value টা রির্টান করতে হচ্ছে, আবার number কে 10 দিয়ে divide করতে হচ্ছে..এ কাজটি কী আদৌ ফাংশন দিয়ে করা যাবে? কারণ একটা value রির্টান দিয়েই তো ফাংশনটা terminate হয়ে যাবে..

asked 02 Jun, 11:20

bishal31416's gravatar image

bishal31416
212

একটা উদাহরণ দেন । তাহলে উত্তর দিবে সুবিধা হবে ।

(02 Jun, 11:23) menon

int digit (int n) { int digit;

while (n != 0){
    digit = n % 10;
    return digit;
    n /= 10;

}

এই ক্ষেত্রে তো একটা ভ্যালু return দিয়েই ফাংশন terminate হয়ে যাবে, তাই শুধু মাত্র last digit টাই return হবে..

(02 Jun, 11:30) bishal31416

ভ্যালু রিটার্ন করার দরকার কী? একটা স্ট্রিংয়ে জমা রাখলেই হয়। পরে সেই স্ট্রিং রিটার্ন করে দেওয়া যায়।

permanent link

answered 02 Jun, 19:10

Tamim%20Shahriar%20Subeen's gravatar image

Tamim Shahriar Subeen ♦♦
5.5k1026

সেক্ষেত্রে ফাংশনের রির্টান টাইপ কী char হবে?char হলে তো সে একটা character রির্টান করবে।

(03 Jun, 12:59) bishal31416

আপনি একটা গ্লোবাল int array declare করতে পারেন । এবং সেই অ্যারে তে আপনি একটা একটা করে ডিজিট সেভ করে রাখবেন । এবং পরে সেই অ্যারে কে প্রিন্ট করলে আপনি আলাদা আলাদা করে ডিজিট পেয়ে যাবেন ।

অথবা আপনি ভেক্টর ও ব্যবহার করতে পারেন ।

ধন্যবাদ :)

permanent link

answered 04 Jun, 11:10

menon's gravatar image

menon
3.6k220

সেক্ষেত্রে তো আমার ফাংশন এর প্রোটোটাইপ হবে void digit (int n); কিন্তু আমি চাচ্ছিলাম ফাংশন থেকে প্রতিটা ডিজিট রির্টান করতে, কোনো ফাংশন থেকে কী আমি অ্যারে রির্টান করতে পারব?

(04 Jun, 15:49) bishal31416

আপনি char * fun(); এইভাবে char array return করেতে পারেন । digits[0 - 9] সবসময় ১ টা char ই হবে ।

C তে int type array রিটার্ন করা যায় যায় না । তার পরও আপনি যদি করেন তবে কম্পাইলার undefined behaviour প্রকাশ করবে । অর্থাৎ হয়তো কোন সময় কাজ করবে আবার কাজ করবে না ।

ধন্যবাদ @bishal31416

(04 Jun, 20:44) menon

ধন্যবাদ :)

(05 Jun, 07:19) bishal31416
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:

×1

question asked: 02 Jun, 11:20

question was seen: 171 times

last updated: 05 Jun, 07:19

Related questions