myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

division bei c mit integer - problem

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 20.11.11, 15:17   #1
mofucka
Mitglied
 
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
mofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punkte
Standard 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:

Zitat:
z4=(double)z1/z2;
jetzt zeigt er mir zwar komzahlen an, ABER es ist 0.000
... das bringst also nich wirklich :/
mofucka ist offline   Mit Zitat antworten
Ungelesen 20.11.11, 16:07   #2
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 488
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

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.
Thelvan ist offline   Mit Zitat antworten
Ungelesen 20.11.11, 16:24   #3
mofucka
Mitglied
 
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
mofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punkte
Standard

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?
mofucka ist offline   Mit Zitat antworten
Ungelesen 20.11.11, 16:51   #4
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 488
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

Ich will wissen, welche Zahlen du da teilst.
z4 muss Double sein, bei Integer werden die Nachkommastellen einfach abgeschnitten
Thelvan ist offline   Mit Zitat antworten
Ungelesen 20.11.11, 17:37   #5
mofucka
Mitglied
 
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
mofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punkte
Standard

beliebige werte die vorher eingegeben werden müssen, z1 und z2 sind keine konstanten
mofucka ist offline   Mit Zitat antworten
Ungelesen 20.11.11, 20:02   #6
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

PHP-Code:
urga@urga-virtual-machine:~/src/c++$ cat x.
#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"z1z2z3);
}
urga@urga-virtual-machine:~/src/c++$ cc -o x x.&& ./x
10.000000
/3.000000 == 3.333333 
irgendwas machst du grundlegend falsch...
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 20.11.11, 20:24   #7
mofucka
Mitglied
 
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
mofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punkte
Standard

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
mofucka ist offline   Mit Zitat antworten
Ungelesen 20.11.11, 20:33   #8
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 488
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

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
Thelvan ist offline   Mit Zitat antworten
Ungelesen 20.11.11, 20:34   #9
mofucka
Mitglied
 
Registriert seit: Oct 2009
Beiträge: 342
Bedankt: 191
mofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punktemofucka ist unten durch! | -699 Respekt Punkte
Standard

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
mofucka ist offline   Mit Zitat antworten
Ungelesen 20.11.11, 23:22   #10
Melfis
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 22
Bedankt: 9
Melfis ist noch neu hier! | 0 Respekt Punkte
Standard

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.
Melfis ist offline   Mit Zitat antworten
Ungelesen 22.11.11, 20:17   #11
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

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;
}
Your_Conscience ist offline   Mit Zitat antworten
Ungelesen 22.11.11, 22:36   #12
Melfis
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 22
Bedankt: 9
Melfis ist noch neu hier! | 0 Respekt Punkte
Standard

Code:
printf("%d / %d = %f\n", a, b, 1.0 * a / b);
weil 1.0 ein double ist :P
Melfis ist offline   Mit Zitat antworten
Ungelesen 23.11.11, 04:36   #13
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

Ohne eine Typumwandlung in double wird man aber keine Kommazahl rausbekommen.
Your_Conscience ist offline   Mit Zitat antworten
Antwort


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

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.


Sitemap

().