Problem - wynik dzielenia zawsze wynosi 2

0

#include<iostream>
using namespace std;
int c1, liczba;
int main()
{
cin >> liczba;
c1=liczba/1000000000;
cout << c1;
}

Wytłumaczy mi ktoś dlaczego za każdym razem (niezależnie od tego co wpisze) wyjście wynosi 2?

1

Witam.

zamień typ int na float.

A dzieje się tak pewnie dlatego że liczba wychodzi po przecinku i program zaokrągla do liczb całkowitych.

Życzę miłego dnia/wieczora.

0

U mnie działa https://wandbox.org/permlink/PkghzVBaegQ9I8C1
dopóki liczby mieszczą się w zakresie int-a.

0
pestka12 napisał(a):

Witam.

zamień typ int na float.

A dzieje się tak pewnie dlatego że liczba wychodzi po przecinku i program zaokrągla do liczb całkowitych.

Życzę miłego dnia/wieczora.

Po zmienieniu zmiennej na float i wpisaniu 3000000000 wyjście wynosi 3e+006. Jak się pozbyć tego e+006?

0
#include <iomanip>
 
	cout.setf(ios::fixed); // raz na początku wystarczy
	cout << setprecision(0) << c1;

1 użytkowników online, w tym zalogowanych: 0, gości: 1