jazykc  2013.3
upoljazykc
 All Classes Files Functions Variables Typedefs Macros Pages
celociselne-deleni.c
Go to the documentation of this file.
1 
22 //Povolené knihovny:
23 #include <stdio.h>
24 #include <stdlib.h>
25 
35 int deleni (int a, int b, int* r) {
36 
37  int podil = 0;//nesmime pouzivat % a /
38  int zbytek = a;
39  while (zbytek >= b) {
40  podil++;
41  zbytek -= b;
42  }
43  *r = zbytek;
44  return podil;
45 }
46 
47 #define DELENI(a,b) do {int p,r;p=deleni((a),(b),&r);printf("%+d : %+d = %+d (zbytek %+d)\n",(a),(b),p,r);}while(0)
48 
49 //h0nza: ve stdlib.h je funkce div_t div(d,n); ktera toto resi!!! .quot, .rem
50 #define DIV(a,b) do {div_t q;q=div((a),(b));printf("%+d : %+d = %+d (.rem %+d)\n",(a),(b),q.quot,q.rem);}while(0)
51 
52 int main(void) {
53  DELENI(13, 4); DIV(13, 4);
54  DELENI(12, 4); DIV(12, 4);
55  DELENI( 3, 4);
56  DELENI(-13, 4);//nefunguje!!!
57  DIV(-13, 4);
58  DELENI( 13,-4);//nefunguje!!!
59  DIV( 13,-4);
60  DELENI(-13,-4);//nefunguje!!!
61  DIV(-13,-4);
62  return EXIT_SUCCESS;
63 }
int deleni(int a, int b, int *r)