Porównanie wartości bezwzględnej dwóch liczb całkowitych
Ostatnio zmodyfikowano 2015-12-25 23:23
kakamxx Temat założony przez niniejszego użytkownika |
» 2015-11-22 22:28:58 Pierwsze forum gdzie spotkałem się z pomocą, a nie komenatrzem "wiesz co to google"? Super, bardzo dziękuję za pomoc i cierpliwość :) |
|
KamilCzop |
c++ » 2015-12-15 21:46:14 Nie sądzicie, że taka wersja będzie lepsza? :D
#include <iostream>
using namespace std;
int main() { int m,a,b; cout<<"Wprowadz dwie liczby: "<<endl; cout<<">>>>>>"<<endl; cin>>a; cout<<">>>>>>"<<endl; cin>>b;
if(a<0) a=-a; if(b<0) b=-b; if(a==0) a=0; if(b==0) b=0;
m=a; if(b>m) m=b; cout<<m;
return 0; }
|
|
Gibas11 |
» 2015-12-25 23:23:12 Twój kod miejscami nie robi nic. if(a==0) a=0; if(b==0) b=0;
|
Jest też przydługi i nie spełnia polecenia (wypisać liczbę o większej wartości bezwzględnej, ty wyświetlasz większą wartość bezwzględną z 2 liczb), jeżeli pozwolić sobie na 4 zmienne, choć można by się ograniczyć do 2 (jakoś to przebolałem i zmarnowałem te 8 bajtów), lepiej zrealizować to tak: #include <iostream> int main() { int a1, b1, a2, b2; std::cin >> a1 >> b1; a2 = (a1 > 0) ? a1 : -a1; b2 = (b1 > 0) ? b1 : -b1;
std::cout << ((a2 > b2) ? a1 : b1);
return 0; }
Krótkie, schludne i robi co ma robić. EDIT: Nie wstawiłem kodu w znaczniki cpp bo pojawiało się kilka zbędnych enterów i widoczna była utrata przejrzystości. |
|
1 « 2 » |