• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odległość, wartość bezwględnam, moduł, abs

VPS Starter Arubacloud
0 głosów
160 wizyt
pytanie zadane 21 marca 2017 w C i C++ przez Undisputed Gaduła (3,040 p.)

Witam.

Rozwiązuje zadania ze strony solve.edu.pl. Jednak z jednym mam problem.

Mianowicie wg mnie program działa dobrze, a nie jest akceptowany.

http://solve.edu.pl/tasks/view/430 <-Treść

Rozwiązanie moje:

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    int a,b;
    cin >> a >> b;
    int wynik;
    wynik=abs(b-a);
    cout << wynik;
    return 0;
}

 

2 odpowiedzi

0 głosów
odpowiedź 21 marca 2017 przez Knayder Nałogowiec (37,640 p.)
wynik = abs(max(a,b)-min(a,b));

Spróbuj tak
komentarz 21 marca 2017 przez Undisputed Gaduła (3,040 p.)
Błędna odpowiedź wyskakuje
–1 głos
odpowiedź 21 marca 2017 przez obl Maniak (51,280 p.)
Int to zakres od od -2 147 483 648 do 2 147 483 647 a ty potrzebujesz przechowywać liczby rzędu 4*10e9
komentarz 21 marca 2017 przez QizmoPL Stary wyjadacz (11,440 p.)
long 4 od -2'147'483'648 do 2'147'483'647
unsigned long 4 od 0 do 4'294'967'295
long long 8 od -9'223'372'036'854'775'808 do 9'223'372'036'854'775'807
unsigned long long 8 od 0 do 18'446'744'073'709'551'615
float 4 3.4E +/- 38 (7 cyfr)
double 8 1.7E +/- 308 (15 cyfr)
long double 8 1.7E +/- 308 (15 cyfr)
komentarz 21 marca 2017 przez Undisputed Gaduła (3,040 p.)
Zmieniłem na double, nadal coś jest nie tak, i wg mnie int to 2*10e9
komentarz 21 marca 2017 przez obl Maniak (51,280 p.)
2*10e9-(-2*10e9) = 4*10e9
komentarz 21 marca 2017 przez Undisputed Gaduła (3,040 p.)
Mniejsza o to, z double też nie działa, jakiś pomysł ?
komentarz 21 marca 2017 przez obl Maniak (51,280 p.)
Spróbuj long long.
komentarz 21 marca 2017 przez Undisputed Gaduła (3,040 p.)
Działa, dzięki :) :)
komentarz 21 marca 2017 przez obl Maniak (51,280 p.)
No to mi się udało :)
komentarz 21 marca 2017 przez obl Maniak (51,280 p.)
w ramach degresji ja tutaj odejmowałem od dodatniej ujemną czyli 2e9 - (-2e9) = 4e9
komentarz 6 kwietnia 2017 przez Kamil Duljas Użytkownik (990 p.)

Ja również mam problem z tym zadaniem. Otrzymuje max 80 pkt nawet jeśli mam dobry zakres i wyświetla mi poprawnie:

#include <stdio.h>

long long Abs(int a,int b);

int main()
{
    int a,b;
    scanf("%Ld %Ld", &a, &b);


    if((a>=-2000000000) && (a<=2000000000) && (b>=-2000000000) && (b<=2000000000) ){
       long long c = Abs(a,b);
        printf("%Lu", c);
    }

    return 0;
}
long long Abs(int a, int b){
    if(a>b)
        return a - b;
    return b - a;
}

 

komentarz 8 kwietnia 2017 przez obl Maniak (51,280 p.)

Twoja funkcja przyjmuje jako argumenty dwie zmienne typu int a nie long long więc jak odejmujesz inta od inta do co dostaniesz? Podpowiem: int-a a int w tym przypadku ma za mały zakres.

Podobne pytania

+1 głos
3 odpowiedzi 2,782 wizyt
0 głosów
0 odpowiedzi 76 wizyt
pytanie zadane 14 lutego 2017 w Systemy operacyjne, programy przez Paweł123 Nałogowiec (33,500 p.)
0 głosów
2 odpowiedzi 503 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...