# Division mit Rest



## don_david (17. März 2005)

Hallo

Versuche eine kleines Programm zu machen, dass bei einer Division das Ergebnis mit dem Rest darstellt. Aber kriege das irgendwie nicht hin.

Könnt ihr mir weiter helfen

Gruss


----------



## Beichtpfarrer (17. März 2005)

Division mit Rest: a%b


----------



## don_david (17. März 2005)

Komisch, hab das auch scho versucht, aber bei mir gehts nicht...
Und habe die Variablen auch als int deklariert


----------



## Aylon (17. März 2005)

Nur so als Frage willst du den Rest den du halt per Modulo bekommst oder als Fließkommazahl so nach dem Motto 3:2=1,5 ?
(Vielleicht hab ich das jetzt auch einfach nur falsch Verstanden, ich sitze hier nämlich eigentlich gerade mit heftigen Kopfschmerzen)


----------



## don_david (17. März 2005)

hehe  

Also ne ich möchte das eigentlich so haben, dass er mir z.B. bei einer Rechnung das so darstellt:

5 : 2 = 2 Rest 1

Oder so ähnlich : )


----------



## Aylon (17. März 2005)

Also dazu fällt mir jetzt nur ein einmal 5:2 ausrechnen  
und dann einmal  5%2 mit den entsprechenden ausgaben dann natürlich


----------



## don_david (17. März 2005)

Also jetzt habe ich schon mal hinbekommen, dass er das richtig rechnet

Also 21 : 12 = 1

das zeigt er mir jetzt z.B. an, aber was muss ich noch angeben, damit er mir den rest au ausgibt

Habe schon was probiert, dabei hat er mir aber statt dern Rest gezeigt, die zweit Zahlen multipliziert.


----------



## Aylon (17. März 2005)

Wie wäre es mit sowas wie z.B.:


```
int a,b,c,d;
a=21;
b=12;
c=a/b;
d=a%b;
```
Also das ist jetzt ganz stumpf  d erhält den Rest und c halt das normale ohne nachkomma.


----------



## don_david (17. März 2005)

jo das habe ich auch gemacht.
Aber zum den rest wiederzugeben gehts nicht.

Also im Moment hab ich so:


```
res_1 = zahl_1 / zahl_2;
     rest = zahl_1 % zahl_2;
     printf("Das Ergebnis ist %i", res_1);
     printf("Rest %i", rest);
```


----------



## Aylon (17. März 2005)

Also bei mir liefert dien Code für zahl_1 =21 und zahl_2 =12  ein Ergebnis von 1 und Rest 9.


----------



## don_david (17. März 2005)

Kannste mal deinen Code posten, weil finds irgendwie komisch, dass es bei dir geht...


----------



## Aylon (17. März 2005)

Also jetzt einfach per Copy&Paste von deienem Code:


```
#include <stdio.h>

int main()
{
     int res_1,zahl_1=21,zahl_2=12,rest;
     res_1 = zahl_1 / zahl_2;
     rest = zahl_1 % zahl_2;
     printf("Das Ergebnis ist %i", res_1);
     printf("Rest %i", rest);
     return 0;
}
```


----------



## don_david (17. März 2005)

Da hier kannste mal mein sehen:


```
#include <stdio.h>

int main()
{
     int zahl_1, zahl_2, res_1, rest;

     printf("Geben Sie die Erste Zahl ein.");
     scanf("%f", &zahl_1);
     fflush(stdin);
     printf("Geben Sie die Zweite Zahl ein.");
     scanf("%f", &zahl_2);
     fflush(stdin);
     res_1 = zahl_1 / zahl_2;
     printf("Das Ergebnis ist %i", res_1);
     rest = zahl_1 %zahl_2;
     printf("\nRest ist %i", rest);

getchar();

}
```



Komisch das er mir statt den Rest ausgibt die Zahlen multipliziert.


----------



## Aylon (17. März 2005)

Ok mal spontan ich kenne mich nicht so mit C aus aber ich glaub vielleicht solltest du anstatt 

```
scanf("%f", &zahl_1);
```
folgendes nutzen:

```
scanf("%i", &zahl_1);
```
da du ja eigentlich keinen Float einliest.
Lass mich Lügen ich weiß jetzt nicht wie es in C ist, aber ist 
	
	
	



```
fflush(stdin);
```
 nicht undefiniert gewesen?
Hm vielleicht kann man das per  http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1052863818&id=1043284351 
belegen oder erklären.


----------



## don_david (17. März 2005)

ohh

S**** habe das eben von dem letzten Code den ich gemacht habe übernommen, und vergessen zu ändern, und habe es nicht gesehen wegem float...

Viel dank Aylon

Mein Problem iost gelöst


----------

