Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
20.11.11, 15:17
|
#1
|
Mitglied
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
|
division bei c mit integer - problem
hey habe folgendes prob:
ich soll eine division mit integer durchführen, das ergebnis muss aber mit kommazahlen sein, geht ja mit integer nicht.
habe folgendes bei google gefunden:
jetzt zeigt er mir zwar komzahlen an, ABER es ist 0.000
... das bringst also nich wirklich :/
|
|
|
20.11.11, 16:07
|
#2
|
Erfahrenes Mitglied
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
|
Ich hab zwar keine Ahnung von C, aber muss das (double) nicht vor beide Zahlen?
Auch wäre interessant, was für ein Datentyp z4 ist, und welche Werte z1 und z2 haben.
|
|
|
20.11.11, 16:24
|
#3
|
Mitglied
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
|
habe auch schon
Zitat:
z4=(double)z1/(double)z2;
|
und
Zitat:
z4=((double)z1)/((double)z2);
|
ausprobiert geht beides nicht :/
alle 3 variablen sind integer, was genau ist mit werte gemeint?
|
|
|
20.11.11, 16:51
|
#4
|
Erfahrenes Mitglied
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
|
Ich will wissen, welche Zahlen du da teilst.
z4 muss Double sein, bei Integer werden die Nachkommastellen einfach abgeschnitten
|
|
|
20.11.11, 17:37
|
#5
|
Mitglied
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
|
beliebige werte die vorher eingegeben werden müssen, z1 und z2 sind keine konstanten
|
|
|
20.11.11, 20:02
|
#6
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
PHP-Code:
urga@urga-virtual-machine:~/src/c++$ cat x.c #include <stdio.h> main() { double z1 = 10; double z2 = 3; double z3 = z1 / z2; // mindestens muss z3 vom typ double sein. printf ("%f/%f == %f\n", z1, z2, z3); } urga@urga-virtual-machine:~/src/c++$ cc -o x x.c && ./x 10.000000/3.000000 == 3.333333
irgendwas machst du grundlegend falsch...
__________________
entropie erfordert keine wartung
|
|
|
20.11.11, 20:24
|
#7
|
Mitglied
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
|
Zitat:
// mindestens muss z3 vom typ double sein.
|
gut daran kanns liegen, werde nochmal den prof. fragen ob man noch was anderes außer integer verwenden darf.
wie ich es aus der aufgabe entnehme muss alles integer sein, aber wäre gut möglich, das ich die aufgabe falsch verstanden habe
|
|
|
20.11.11, 20:33
|
#8
|
Erfahrenes Mitglied
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
|
Wenn man z.B. 11 durch 5 teilt, sollte aber 2 rauskommen, oder?
Schneidet er bei Integer nicht einfach nur die Nachkommastellen ab?
EDIT: so wie es oben steht (ergebnis mit nachkommastellen aber nur int verwenden) ist nicht möglich
|
|
|
20.11.11, 20:34
|
#9
|
Mitglied
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
|
das ist richtig, er gibt nur die ganze zahl an, und rundet nicht.
e: okay, das wusste ich nicht bin noch recht neu was programmieren angeht^^
dann liegst an meiner doofheit, das ich die aufgabe falsch verstanden habe
|
|
|
20.11.11, 23:22
|
#10
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 22
Bedankt: 9
|
in java:
Code:
int z1=10;
int z2=3;
int z3=-1;
for(int i=0;i<10;i++){
System.out.print(z1/z2);
if(i==0&&z1%z2!=0)System.out.print(",");
z3=z1%z2;
if(z3==0){
break;
}else{
z1=z3*10;
}
}
Ist aber nur eine Ausgabe mit Kommazahl,
ein richtiges double bekommt man nicht raus.
|
|
|
22.11.11, 20:17
|
#11
|
Hinter dir!
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
|
Warum macht ihr euch das eigentlich alle so kompliziert?
Code:
int main()
{
int a = 5, b = 6;
printf("%d / %d = %f\n", a, b, 1.0 * a / b);
return 0;
}
|
|
|
22.11.11, 22:36
|
#12
|
Anfänger
Registriert seit: Apr 2010
Beiträge: 22
Bedankt: 9
|
Code:
printf("%d / %d = %f\n", a, b, 1.0 * a / b);
weil 1.0 ein double ist :P
|
|
|
23.11.11, 04:36
|
#13
|
Hinter dir!
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
|
Ohne eine Typumwandlung in double wird man aber keine Kommazahl rausbekommen.
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 Uhr.
().
|