এই কোডে কম্পাইলার এরর দেখায়। কিন্তু কোডে তো ভুল নেই।

#include <stdio.h>
int main()
{
    double m, ans;
    int n;
    scanf("%d%d",&n,&m);
    ans= n%m;
    printf("%lf\n",ans);
    return 0;
}
আবার এই কোড, কম্পাইলার এরর দেখায় না, কিন্তু উত্তর ভুল দেখায়।
#include <stdio.h>
int main()
{
    int m,n, ans;
    scanf("%d%d",&n,&m);
    ans= n%m;
    printf("%lf\n",ans);
    return 0;
}

asked 21 Dec '17, 16:36

pollob1563's gravatar image

pollob1563
736

edited 21 Dec '17, 17:05

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
23618


মডুলাস অপারেটর (%) শুধুমাত্র ইন্টিজারের ক্ষেত্রে কাজ করে। এখানে m ডাবল টাইপের, তাই এরর দেখায়।

দ্বিতীয় কোডে ভ্যারিয়েবল ইন্টিজার, কিন্তু ফরমেট স্পেসিফায়ার ডাবল টাইপের, তাই গারবেজ মান (কিছু ক্ষেত্রে শূন্য) দেখায়। ফরমেট স্পেসিফায়ার %d ব্যবহার করলেই ঠিক হয়ে যাবে।

permanent link

answered 21 Dec '17, 17:11

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
23618

edited 21 Dec '17, 17:14

স্পেসিফায়ার কি? আর মডুলাস অপারেটরে সব সময় ইন্টিজারে রাখতে হবে? float, double ব্যবহার করা যাবে না? আর দশমিক সংখ্যার ভাগশেষ এর জন্য কি করব?

(22 Dec '17, 11:24) pollob1563
1

ফরমেট স্পেসিফায়ার হচ্ছে %d, %f, %c, %s, %lf ইত্যাদি (সংজ্ঞায় আমরা নাই গেলাম)। মডুলাস অপারেটরে সবসময় ইন্টিজারই ব্যবহার করতে হবে। ফ্লোট, ডাবলের ক্ষেত্রে ভাগশেষ বের করতে

fmod(double x, double y);

ব্যবহার করতে হবে। এর জন্য math.h হেডার ফাইল ইনক্লুড করতে হবে।

(22 Dec '17, 11:53) Mosharraf Hosain ♦

fmod কে কি বলে ? যেমন char মানে character.

(22 Dec '17, 12:28) pollob1563

fmod কে কি মডূলাস অপারেটর বলে???

(22 Dec '17, 13:24) pollob1563

scanf(), printf() এর মতই এটি একটি লাইব্রেরি ফাংশন। এর বিস্তারিত (উদাহরণসহ) আছে এখানে। মডুলাস অপারেটর হচ্ছে % চিহ্নটি।

(22 Dec '17, 13:27) Mosharraf Hosain ♦

আপনার প্রথমে কোড কম্পাইলার এরর দেখাবে। কারণ আপনি কম্পাইলারকে দিয়ে ইনভ্যালিড অপারেশন করিয়ে নিতে চাচ্ছেন। আপনি যখন

ans = n % m;
এক্সিকিউট করাচ্ছেন তখন n হলো ইন্টিজার টাইপের কিন্তু m ডাবল টাইপের । % অপারেশন ইন্টিজারের ক্ষেত্রে করা যায় কিন্তু ডাবলের ক্ষেত্রে করা যায় না।

আর আপনার ২য় কোডে কম্পাইলার এরর দেখাবে না। কারণ এখানে n, m দুটোই ইন্টিজার টাইপের।

ধন্যবাদ ।

permanent link

answered 21 Dec '17, 17:13

menon's gravatar image

menon
4.3k223

edited 21 Dec '17, 17:20

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
23618

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:

×367
×26
×16
×2
×1

question asked: 21 Dec '17, 16:36

question was seen: 153 times

last updated: 22 Dec '17, 13:46