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

Liczenie reszty z dzielenia

0 głosów
1,985 wizyt
pytanie zadane 24 listopada 2018 w C i C++ przez Dani3l Bywalec (2,160 p.)

Przy podaniu liczb typu 2,2 program pokazuje reszte 1

przy liczbach typu 17,7 reszte 0 

nie rozumiem o co chodzi

#include <iostream>

using namespace std;

int liczba,  cyfra,wynik;

int main()
{
    cout << "Podaj pierwsza liczbe:" ;
    cin>>liczba;
    cout << "Podaj druga liczbe:" ;
    cin>>cyfra;

    wynik=liczba/cyfra%2 ;
    cout<<"Reszta z dzielenia liczb "<<liczba<<" i "<<cyfra<<" wynosi "<<wynik<<endl;

    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 24 listopada 2018 przez Arkadiusz Sikorski Pasjonat (20,160 p.)
edycja 24 listopada 2018 przez Arkadiusz Sikorski

Operacja modulo, czyli reszta z dzielenia operuje na dwóch wartościach, dzielnej i dzielniku.

Jeśli dzielna = 17, a dzielnik = 7, to takie działanie zapisujemy tak:

dzielna % dzielnik

co da nam w wyniku upragnione 3. Twoją dzielną jest zapewne "liczba", a dzielnikiem "cyfra" (trochę niefortunne nazwy, tak swoją drogą). Kilka małych zmian i program wygląda dużo czytelniej :)

#include <iostream>
 
using namespace std;
 
int dzielna, dzielnik, wynik;
 
int main()
{
    cout << "Podaj dzielna:" ;
    cin >> dzielna;
    cout << "Podaj dzielnik:" ;
    cin >> dzielnik;
 
    wynik= dzielna % dzielnik;
    cout<<"Reszta z dzielenia liczb "<< dzielna <<" i "<< dzielnik <<" wynosi "<< wynik <<endl;
 
    return 0;
}

 

komentarz 24 listopada 2018 przez Dani3l Bywalec (2,160 p.)
Dziękuję rzeczywiście dużo lepiej to wygląda : d
komentarz 25 października 2023 przez Jerzy Użytkownik (950 p.)

@Arkadiusz Sikorski, C

Czy liczby przy otrzymywaniu reszty

Zapisuje się jako int czy float

–1 głos
odpowiedź 24 listopada 2018 przez adamus Użytkownik (860 p.)
Zmien int na float
komentarz 24 listopada 2018 przez adamus Użytkownik (860 p.)
A po drugie zobacz co robisz dzielisz pierwsza liczbe przez druga i wynik dzielisz jeszcze z reszta
komentarz 24 listopada 2018 przez adamus Użytkownik (860 p.)
przeniesione 24 listopada 2018 przez Arkadiusz Waluk
wynik=liczba%2;
    wynik1=cyfra%2;
    cout<<"Reszta z dzielenia " <<liczba << " wynosi "<<wynik<<endl;
    cout<<"Reszta z dzielnia "<<cyfra << " wynosi "<<wynik1;

Zmien sobie twoj program na tak jak powyzej i powinienes znalezc blad dlaczego sie tak dzieje.

komentarz 24 listopada 2018 przez Dani3l Bywalec (2,160 p.)
Dziękuję z całego serca : d
komentarz 24 listopada 2018 przez Dani3l Bywalec (2,160 p.)

@adamus, dzięki

komentarz 24 listopada 2018 przez Arkadiusz Sikorski Pasjonat (20,160 p.)

@adamus, akurat w tym wypadku zamiana na floata nic nie da. Co więcej, program się nie skompiluje, bo operatora modulo można używać tylko na argumentach całkowitych. Do reszty z dzielenia liczb zmiennoprzecinkowych można użyć fmod z cmath.

komentarz 25 października 2023 przez Jerzy Użytkownik (950 p.)

@adamus,

jak można zamienić int na float w programie gdy zadeklarowaliśmy int  na początku ?

Podobne pytania

0 głosów
2 odpowiedzi 208 wizyt
pytanie zadane 5 grudnia 2015 w C i C++ przez C☺ndzi Stary wyjadacz (12,100 p.)
0 głosów
1 odpowiedź 277 wizyt
0 głosów
2 odpowiedzi 2,228 wizyt
pytanie zadane 22 marca 2020 w Python przez viGor Użytkownik (740 p.)

93,425 zapytań

142,421 odpowiedzi

322,646 komentarzy

62,786 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...