Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // uloha-10-1.c -- Tyzden 10 - Uloha 1
- // Michal Kovacik, 30.4.2014 06:44:31
- #include <stdio.h>
- void nasob(int *hodnota){
- if (sizeof((*hodnota) << 1) > sizeof(int))
- printf("Operaciu nie je mozne vykonat\n");
- else
- (*hodnota) <<= 1;
- }
- void vydel(int *hodnota){
- if (sizeof((*hodnota) << 1) < 1)
- printf("Operaciu nie je mozne vykonat\n");
- else
- (*hodnota) >>= 1;
- }
- int main(){
- int hodnota = 1, a;
- char volba;
- while ((volba = getchar()) != 'T'){
- switch (volba) {
- case 'L': scanf("%d", &hodnota); break;
- case 'M': nasob(&hodnota); break;
- case 'D': vydel(&hodnota); break;
- case 'A': scanf("%d", &a); hodnota += a; break;
- case 'S': scanf("%d", &a); hodnota -= a; break;
- }
- while (getchar() != '\n');
- printf("Aktualna hodnota: %d\n", hodnota);
- }
- return 0;
- }
- // uloha-10-2.c -- Tyzden 10 - Uloha 2
- // Michal Kovacik, 30.4.2014 08:45:24
- #include <stdio.h>
- #include <stdlib.h>
- unsigned int invert(unsigned int x, int i, int n)
- {
- int k, j, pom=1;
- while(pom<=x)
- pom=pom<<1;
- pom=pom>>1;
- for(j=0; j<n; j++){
- k = i + j;
- x ^= (pom>>k);
- }
- return x;
- }
- int main()
- {
- int i, j, x, ii, nn;
- scanf("%d %d %d", &x, &ii, &nn);
- printf("x = %d ", x);
- printf("(");
- for (j = 0, i = 31; i >= 0; i--)
- {
- if (x & (1 << i))
- j = 1;
- if (j)
- {
- if (x & (1 << i))
- printf("1");
- else
- printf("0");
- }
- }
- printf(")\n");
- printf("invert(x, %d, %d)\n", ii, nn);
- x = invert(x, ii, nn);
- printf("x: %d ", x);
- printf("(");
- for (j = 0, i = 31; i >= 0; i--)
- {
- if (x & (1 << i))
- j = 1;
- if (j)
- {
- if (x & (1 << i))
- printf("1");
- else
- printf("0");
- }
- }
- printf(")\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement