- Член од
- 5 август 2009
- Мислења
- 1.295
- Поени од реакции
- 484
Е тек сега се збунив кои какви сеПа, тоа шо го пиша се користи секојдневно, ама не е точно.
Декадни (децимални) броеви се целите броеви.
А децималните (ние шо ги викаме децимални) се викаат реални броеви (дропки).
Целите броеви се подмножество на рационални. 11 е исто што и 11/1 - претставен како дропка или 11.0 - претставен како децимален број. Од тука не ми е јасно зошто тврдите дека неможе да се дели или да се провери делливост на децимален со цел број.
Од друга страна ... за задачата ... воопшто не е битно тоа што знаеме дека ако внесениот број има децимали нема да биде деллив ... задачата јасно вели ... влезот е децимален број. Ако го третира како цел број, сигурен сум дека нема да биде точно решението ... и се така додека не стане професор па да ја исправи задачата или најчесто уште повеќе да ја затупи
Поради тоа што се бара влезот да биде децимален, јас би ја решил вака:
Код:
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char *argv[])
{
float a, b=11.0;
cout<<"Vnesete decimalen broj: ";
cin>>a;
cout<<"------------------------------------------------"<<endl;;
if(fmod(a,b)==0){
//ako ne smees da koristis cmath: if((((int)(a/b))*b)==a);
cout <<"Vneseniot broj ("<<a<<") e deliv so 11.\nNegoviot tret stepen iznesuva: ";
cout <<pow(a,3)<<endl; //ako ne smees da koristis cmath: cout <<a*a*a<<endl;
} else {
cout <<"Vneseniot broj ("<<a<<") ne e deliv so 11.\nNegoviot kvadraten koren iznesuva: ";
cout <<sqrt(a)<<endl; //ako ne smees da koristis cmath iskopaj nekoja gotova funkcija :)
}
cout<<"------------------------------------------------"<<endl;;
system("PAUSE");
return 0;
}