Advertisement
wheatles

blatt4aufg2

Nov 17th, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int succ(int x) {
  4. return ++x;
  5. }
  6. // Gibt den Vorgänger des übergebenen Wertes zurück
  7. int pre(int x) {
  8. return --x;
  9. }
  10.  
  11. int add(int x, int y) {
  12. if (y == 0) {
  13. return x;
  14. } else {
  15. return add(succ(x), pre(y));
  16. }
  17. }
  18.  
  19. int sub(int x, int y) {
  20. if (y == 0) {
  21. return x;
  22. } else {
  23. return sub(pre(x), pre(y));
  24. }
  25. }
  26.  
  27. int mult(int x, int y) {
  28. if (y == 0) {
  29. return 0;
  30. }
  31. else if (x > 0){
  32. return add(x, mult(x, pre(y)));
  33. }
  34. else{
  35. return sub(mult(succ(x), y), y);
  36. }
  37. }
  38.  
  39. int main() {
  40.  
  41. printf("%i\n", add(2,0));
  42. printf("%i\n", sub(2,0));
  43. printf("%i\n", mult(2,0));
  44.  
  45.  
  46. printf("%i\n", add(-3,2));
  47. printf("%i\n", sub(-3,2));
  48. printf("%i\n", mult(-3,2));
  49.  
  50. return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement