Problem - wynik dzielenia zawsze wynosi 2

Problem - wynik dzielenia zawsze wynosi 2
F3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 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?

P1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 180
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.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0

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

F3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
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?

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.