Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #define MAX 32
- void upisNizaA(int a[MAX], int na)
- {
- int br = 0;
- for (int i = MAX - na; i<MAX; i++)
- {
- scanf("%d", &a[i]);
- br++;
- if (a[i]>1 || a[i]<0)
- {
- printf("Greska pri unosu\n");
- printf("Unesite ponovo binarni niz od'0' i '1'\n");
- upisNizaA(a, na - (na - br));
- }
- }
- }
- void upisNizaB(int b[MAX], int nb)
- {
- {
- int br = 0;
- for (int i = MAX - nb; i<MAX; i++)
- {
- scanf("%d", &b[i]);
- br++;
- if (b[i]>1 || b[i]<0)
- {
- printf("Greska pri unosu\n");
- printf("Unesite ponovo binarni niz od'0' i '1'\n");
- upisNizaB(b, nb - (nb - br));
- }
- }
- }
- }
- main()
- {
- int a[MAX] = { 0 }; int b[MAX] = { 0 }; int c[MAX] = { 0 };
- int na, nb,izbor=0, prenos, i, duzina = MAX - 1, predstava = 0,x,j;
- printf("Unesite duzinu binarnog broja A: ");
- scanf("%d", &na);
- printf("\nUnesite binarni broj A\n\n");
- upisNizaA(a, na);
- printf("\nUnesite duzinu binarnog broja B: ");
- scanf("%d", &nb);
- printf("\nUnesite binarni broj B\n\n");
- upisNizaB(b, nb);
- for (prenos = 0, i = MAX - 1; i >= 0; i--)
- {
- c[i] = a[i] + b[i] + prenos;
- switch (c[i])
- {
- default: prenos = 0; break;
- case 2: c[i] = 0; prenos = 1; break;
- case 3: c[i] = 1; prenos = 1; break;
- }
- }
- {
- printf("\nBinarni zbir dva binarna broja 'A' i 'B' je:\n");
- for (i = 0; i < MAX; i++)
- printf("%d", c[i]);
- }
- printf("\n\nDa li zelite (1) Opadajuci ili (2) Neopadajuci sortirani niz?\n ",izbor);
- scanf("%d", izbor);
- for (;;)
- switch (izbor)
- {
- default:
- printf("\nMolim vas izaberite izmedju '1' i '2'\n");
- break;
- case 1:
- for (i = 0; i < MAX - 1; i++)
- for (j = i + 1; j < MAX; j++)
- if (c[i] < c[j])
- {
- x = c[i];
- c[i] = c[j];
- c[j] = x;
- printf("\nUredjeni binarni niz zbir dva binarna broja 'A' i 'B' je: ");
- for (i = 0; i < MAX; i++)
- printf("%d", c[i]);
- }
- break;
- case 2:
- for (i = 0; i < MAX - 1; i++)
- for (j = i + 1; j<MAX; j++)
- if (c[i] > c[j])
- {
- x = c[i];
- c[i] = c[j];
- c[j] = x;
- printf("\nUredjeni binarni niz zbir dva binarna broja 'A' i 'B' je: ");
- for (i = 0; i < MAX; i++)
- printf("%d", c[i]);
- }
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement