Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Napisati program na programskom jeziku C koji
- učitava jedan znakovni niz (string) S1 i jedan ceo
- broj M, a zatim formira novi znakovni niz S2 samo
- od onih znakova na čijim su pozicijama
- odgovarajući bitovi broja M jednaki 1. Smatrati da
- se ceo broj predstavlja u 16-bitnoj lokaciji, a da
- znakovni niz može imati najviše 16 znakova. Na
- kraju, program ispisuje novi znakovni niz S2.
- */
- #include <stdio.h>
- void main() {
- short int M, maska;
- char S1[17], *s1, S2[17], *s2;
- printf("Unesi string S1 i broj M:\n");
- scanf("%s%d", S1, &M);
- s1 = S1;
- s2 = S2;
- maska = 1;
- while (maska && *s1)
- {
- if (M & maska) {*s2 = *s1; s2++; };
- s1++; maska<<=1;
- }
- *s2 = '\0';
- printf("Novi string S2: %s\n", S2);
- }
- /*• Promenjiva maska služi da ispitamo gde se nalaze
- jedinice u broju M koji zadaje korisnik
- • Broj bitova broja M (16) odgovara broju znakova
- stringa S1
- – na osnovu pozicije tih jedinica određuju se znakovi koji će biti u stringu
- S2
- • Svaki od stringova S1 i S2 zauzima ukupno 17
- bajtova u memoriji – 16 za same znakove i 1 za
- završni nulti znak
- • Uslov (maska && *s1) je neophodan da bi se
- dobio ispravan niz s2*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement