Advertisement
KvArt

Koriscenje bitske maske nad nizom

Jul 10th, 2022
952
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.14 KB | None | 0 0
  1. /*Napisati program na programskom jeziku C koji
  2. učitava jedan znakovni niz (string) S1 i jedan ceo
  3. broj M, a zatim formira novi znakovni niz S2 samo
  4. od onih znakova na čijim su pozicijama
  5. odgovarajući bitovi broja M jednaki 1. Smatrati da
  6. se ceo broj predstavlja u 16-bitnoj lokaciji, a da
  7. znakovni niz može imati najviše 16 znakova. Na
  8. kraju, program ispisuje novi znakovni niz S2.
  9. */
  10.  
  11. #include <stdio.h>
  12. void main() {
  13. short int M, maska;
  14. char S1[17], *s1, S2[17], *s2;
  15. printf("Unesi string S1 i broj M:\n");
  16. scanf("%s%d", S1, &M);
  17. s1 = S1;
  18. s2 = S2;
  19. maska = 1;
  20. while (maska && *s1)
  21. {
  22. if (M & maska) {*s2 = *s1; s2++; };
  23. s1++; maska<<=1;
  24. }
  25. *s2 = '\0';
  26. printf("Novi string S2: %s\n", S2);
  27. }
  28.  
  29. /*• Promenjiva maska služi da ispitamo gde se nalaze
  30. jedinice u broju M koji zadaje korisnik
  31. • Broj bitova broja M (16) odgovara broju znakova
  32. stringa S1
  33. – na osnovu pozicije tih jedinica određuju se znakovi koji će biti u stringu
  34. S2
  35. • Svaki od stringova S1 i S2 zauzima ukupno 17
  36. bajtova u memoriji – 16 za same znakove i 1 za
  37. završni nulti znak
  38. • Uslov (maska && *s1) je neophodan da bi se
  39. dobio ispravan niz s2*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement