Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem 'z dzieleniem' i zmiennymi.

Ostatnio zmodyfikowano 2009-01-13 07:43
Autor Wiadomość
malan
Temat założony przez niniejszego użytkownika
» 2009-01-02 13:18:39
Czytać to umiem, tylko gorzej ze skupieniem ;].
P-3205
pekfos
» 2009-01-02 13:22:43
ucz się ucz, bo nauka to potęgi klucz:P
P-3208
malan
Temat założony przez niniejszego użytkownika
Problem z 'float'
» 2009-01-13 00:10:58
Nie będe zakładał nowego tematu żeby nie zaśmiecać forum. Mam taki sobie kodzik:

C/C++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int a, b, c;
    cout << "Podaj liczbe a- ";
    cin >> a;
    cout << "Podaj liczbe b- ";
    cin >> b;
    cout << "Podaj liczbe c- ";
    cin >> c;
    int t, d, e, f;
    t = a + b + c;
    cout << "Suma wszystkich liczb wynosi- " << t << endl;
    d = a % 2;
    e = b % 2;
    f = c % 2;

W dalszej części programu dobrze by było jakby zmienne a,b,c były jako 'zmiennoprzecinkowe' i tu jest problem. Gdy zmieniam 'int' na 'float'. Pokazuje mi taki błąd:
14 [Warning] converting to `int' from `float'
16 invalid operands of types `float' and `int' to binary `operator%'
17 invalid operands of types `float' and `int' to binary `operator%' 
18 invalid operands of types `float' and `int' to binary `operator%'

Wiersze 16,17,18 odnoszą się do:
[16]d=a%2;
[17]e=b%2;
[18]f=c%2;
Wydaje mi się, że w tym typie zmiennej 'float' nie można używać '%'. Więc moje pytanie brzmi- co użyć zamiast tego ???

 
P-3647
DejaVu
» 2009-01-13 02:19:59
A jak chcesz policzyć 'dowolne modulo' liczby np. pierwiastek z dwóch?
P-3648
malan
Temat założony przez niniejszego użytkownika
» 2009-01-13 18:20:10
fmod bardzo by się przydała... tylko kur** jak ją wstawić, bo już chyba kombinuje od ponad godziny...
C/C++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int a, b, c;
    cout << "Podaj liczbe a- ";
    cin >> a;
    cout << "Podaj liczbe b- ";
    cin >> b;
    cout << "Podaj liczbe c- ";
    cin >> c;
    int t, d, e, f;
    t = a + b + c;
    cout << "Suma wszystkich liczb wynosi- " << t << endl;
    d = fmod( a, 2 );
    e = fmodb( b, 2 );
    f = fmod( c, 2 );
... tak nie działa ;(. Jak już wykombinuje coś to mi wychodzi, że np. reszta z dzielenia 3 / 2= 2. :|
P-3651
DejaVu
» 2009-01-13 21:04:50
P-3655
pekfos
» 2009-01-14 16:30:34
u mnie wszystko sie ładnie kompiluje
P-3668
malan
Temat założony przez niniejszego użytkownika
» 2009-01-18 20:36:32
Po kilku nocach przemyśleń udało się. ;D
C/C++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    float a, b, c, t, d, e, f;
    float mod();
    cout << "Podaj liczbe a- ";
    cin >> a;
    cout << "Podaj liczbe b- ";
    cin >> b;
    cout << "Podaj liczbe c- ";
    cin >> c;
    t = a + b + c;
    cout << "Suma wszystkich liczb wynosi- " << t << endl;
    d =( a, 2 );
    e =( a, 2 );
    f =( c, 2 );
...teraz działa. Zadziałało jak usunąłem 'f', które było przed 'mod'. Było tak- 'float fmod' (nie działało); jest tak 'float mod' (działa :)). Dzięki za pomoc.
P-3718
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona