Cod sursa(job #2059839)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 7 noiembrie 2017 17:45:52
Problema Potrivirea sirurilor Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 1.06 kb
#include<stdio.h>

int set(unsigned char n, unsigned char i)
{
    unsigned char mask;
    mask = 1<<i;
    return (n|mask);
} 

int remove(unsigned char n, unsigned char i)
{
    unsigned char mask;
    mask = ~(1<<i);
    return (n&mask);
}

void set_insert(unsigned char a[100], unsigned char n)
{
   unsigned char cat, rest;
   cat = n/8; rest = n%8;
   a[cat] = set(a[cat], rest); /// dau 1 la bitul rest din a[cat]
} 

void set_delete(unsigned char a[100], unsigned char n)
{
   unsigned char cat, rest;
   cat = n/8; rest = n%8;
   a[cat] = remove(a[cat], rest); /// dau 0 la bitul rest din a[cat]
}

int apartine(unsigned char a[100], unsigned char n)
{
   unsigned char cat, rest, mask;
   cat = n/8; rest = n%8;
   mask = 1<<rest;
   if (mask&a[cat] == 0) return 0;
   return 1;
}

void set_delete_all(unsigned char a[100], unsigned char n)
{
   unsigned char i, mask=0;
   for (i=0; i<100; i++)
      a[i] = (a[i]&0);
}

int set_card(unsigned char a[100], unsigned char n)
{
  

}


int main ()
{
  unsigned char n, a[101];
  scanf("%c", &n);
  set_insert(a, n);
  return 0;
}