Advertisement
KvArt

Untitled

Apr 7th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.82 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,prenos, i, duzina = MAX - 1, predstava = 0,x,j;
  40.     char izbor;
  41.             printf("Unesite duzinu binarnog broja A: ");
  42.             scanf("%d", &na);
  43.             printf("\nUnesite binarni broj A\n\n");
  44.             upisNizaA(a, na);
  45.                     printf("\nUnesite duzinu binarnog broja B: ");
  46.                     scanf("%d", &nb);
  47.                     printf("\nUnesite binarni broj B\n\n");
  48.                     upisNizaB(b, nb);
  49.                         for (prenos = 0, i = MAX - 1; i >= 0; i--)
  50.                             {
  51.                                 c[i] = a[i] + b[i] + prenos;
  52.                                 switch (c[i])
  53.                                     {
  54.                                         default: prenos = 0; break;
  55.                                         case 2: c[i] = 0; prenos = 1; break;
  56.                                         case 3: c[i] = 1; prenos = 1; break;
  57.                                     }
  58.                             }
  59.                                         {
  60.                                             printf("\nBinarni zbir dva binarna broja 'A' i 'B' je:\n");
  61.                                                 for (i = 0; i < MAX; i++)
  62.                                                     printf("%d", c[i]);
  63.                                         }
  64.                                         printf("\n\nDa li zelite (1) Opadajuci ili (2) Neopadajuci sortirani niz?\n ",izbor);
  65.                                         scanf("%d", izbor);
  66.                                         if (izbor < 2)
  67.                                         {
  68.                                             while(izbor>0)
  69.                                                 switch (izbor)
  70.                                                 {
  71.                                                 default:
  72.                                                     printf("\nMolim vas izaberite izmedju '1' i '2'\n");
  73.                                                     break;
  74.                                                 case 1:
  75.                                                     for (i = 0; i < MAX - 1; i++)
  76.                                                         for (j = i + 1; j < MAX; j++)
  77.                                                             if (c[i] < c[j])
  78.                                                             {
  79.                                                                 x = c[i];
  80.                                                                 c[i] = c[j];
  81.                                                                 c[j] = x;
  82.                                                                 printf("\nUredjeni binarni niz zbir dva binarna broja 'A' i 'B' je: ");
  83.                                                                 for (i = 0; i < MAX; i++)
  84.                                                                     printf("%d", c[i]);
  85.                                                             }
  86.                                                     break;
  87.                                                 case 2:
  88.                                                     for (i = 0; i < MAX - 1; i++)
  89.                                                         for (j = i + 1; j<MAX; j++)
  90.                                                             if (c[i] > c[j])
  91.                                                             {
  92.                                                                 x = c[i];
  93.                                                                 c[i] = c[j];
  94.                                                                 c[j] = x;
  95.                                                                 printf("\nUredjeni binarni niz zbir dva binarna broja 'A' i 'B' je: ");
  96.                                                                 for (i = 0; i < MAX; i++)
  97.                                                                     printf("%d", c[i]);
  98.                                                             }
  99.                                                     break;
  100.                                                 }
  101.                                         }
  102.                                         else
  103.                                             printf("Molim vas da vas izbor bude 1 ili 2");
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement