Advertisement
KvArt

Untitled

Apr 6th, 2016
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. #include<stdio.h>
  2. #define MAX 32
  3.  
  4. void upisNizaA(int a[MAX], int na)
  5. {
  6. int br = 0;
  7. for (int i = MAX - na; i<MAX; i++)
  8. {
  9. scanf("%d", &a[i]);
  10. br++;
  11. if (a[i]>1 || a[i]<0)
  12. {
  13. printf("Greska pri unosu\n");
  14. printf("Unesite ponovo binarni niz od'0' i '1'\n");
  15. upisNizaA(a, na - (na - br));
  16. }
  17. }
  18. }
  19. void upisNizaB(int b[MAX], int nb)
  20. {
  21. {
  22. int br = 0;
  23. for (int i = MAX - nb; i<MAX; i++)
  24. {
  25. scanf("%d", &b[i]);
  26. br++;
  27. if (b[i]>1 || b[i]<0)
  28. {
  29. printf("Greska pri unosu\n");
  30. printf("Unesite ponovo binarni niz od'0' i '1'\n");
  31. upisNizaB(b, nb - (nb - br));
  32. }
  33. }
  34. }
  35. }
  36. main()
  37. {
  38. int a[MAX] = { 0 }; int b[MAX] = { 0 }; int c[MAX] = { 0 };
  39. int na, nb,izbor=0, prenos, i, duzina = MAX - 1, predstava = 0,x,j;
  40. printf("Unesite duzinu binarnog broja A: ");
  41. scanf("%d", &na);
  42. printf("\nUnesite binarni broj A\n\n");
  43. upisNizaA(a, na);
  44. printf("\nUnesite duzinu binarnog broja B: ");
  45. scanf("%d", &nb);
  46. printf("\nUnesite binarni broj B\n\n");
  47. upisNizaB(b, nb);
  48. for (prenos = 0, i = MAX - 1; i >= 0; i--)
  49. {
  50. c[i] = a[i] + b[i] + prenos;
  51. switch (c[i])
  52. {
  53. default: prenos = 0; break;
  54. case 2: c[i] = 0; prenos = 1; break;
  55. case 3: c[i] = 1; prenos = 1; break;
  56. }
  57. }
  58. {
  59. printf("\nBinarni zbir dva binarna broja 'A' i 'B' je:\n");
  60. for (i = 0; i < MAX; i++)
  61. printf("%d", c[i]);
  62. }
  63. printf("\n\nDa li zelite (1) Opadajuci ili (2) Neopadajuci sortirani niz?\n ",izbor);
  64. scanf("%d", izbor);
  65. for (;;)
  66. switch (izbor)
  67. {
  68. default:
  69. printf("\nMolim vas izaberite izmedju '1' i '2'\n");
  70. break;
  71. case 1:
  72. for (i = 0; i < MAX - 1; i++)
  73. for (j = i + 1; j < MAX; j++)
  74. if (c[i] < c[j])
  75. {
  76. x = c[i];
  77. c[i] = c[j];
  78. c[j] = x;
  79. printf("\nUredjeni binarni niz zbir dva binarna broja 'A' i 'B' je: ");
  80. for (i = 0; i < MAX; i++)
  81. printf("%d", c[i]);
  82. }
  83. break;
  84. case 2:
  85. for (i = 0; i < MAX - 1; i++)
  86. for (j = i + 1; j<MAX; j++)
  87. if (c[i] > c[j])
  88. {
  89. x = c[i];
  90. c[i] = c[j];
  91. c[j] = x;
  92. printf("\nUredjeni binarni niz zbir dva binarna broja 'A' i 'B' je: ");
  93. for (i = 0; i < MAX; i++)
  94. printf("%d", c[i]);
  95. }
  96. break;
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement