Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define sz(x) ((x)*(x)*(x))
- #define n 32
- void mod(int *a){if(*a<0)*a*=(-1);}
- typedef struct TTrojkat {int a;int b; int c;}Trojkat;
- void zerowanie(Trojkat tab1[], Trojkat tab2[],int size)
- {
- int naj;
- for(int i=0;i<size;i++)
- {
- mod(&tab1[i].a);
- mod(&tab1[i].b);
- mod(&tab1[i].c);
- naj=(tab1[i].a>tab1[i].b && tab1[i].a > tab1[i].c) ? tab1[i].a : (tab1[i].b > tab1[i].c && tab1[i].b > tab1[i].a) ? tab1[i].b : tab1[i].c;
- if(naj>tab1[i].a+tab1[i].b+tab1[i].c-naj)
- {
- tab2[i]=tab1[i];
- }
- else
- {
- tab2[i].a=0;
- tab2[i].b=0;
- tab2[i].c=0;
- }
- }
- }
- void dc_to_bin(long long decimal)
- {
- long long tab[32];
- int i=n;
- int j=0;
- long long temp=decimal;
- while(j<n)tab[j++]=0;
- while(decimal)
- {
- tab[i--]=decimal%2;
- decimal/=2;
- }
- j=0;
- printf("DC:%lli to bin ",temp);
- while(j<n)printf(" %lli ",tab[j++]);
- }
- void printf_tab(Trojkat tab[],int size)
- {
- int i=0;
- while(i++<size)
- {
- printf("tab[%d]\n a=%d \n b=%d \n c %d",i,tab[i].a,tab[i].b,tab[i].c);
- }
- }
- int main()
- {
- //long long x=415;
- //dc_to_bin(x);
- Trojkat tab[3];
- Trojkat tab2[3];
- tab[0].a=3;
- tab[0].b=-4;
- tab[0].c=5;
- tab[1].a=6;
- tab[1].b=8;
- tab[1].c=10;
- tab[1].a=1;
- tab[1].b=32;
- tab[1].c=32;
- printf("przed zerowaniem:");
- printf_tab(tab,3);
- for (int i=0;i<3;i++)
- {
- tab2[i]=tab[i];
- }
- zerowanie(tab,tab2,3);
- printf("Tab 2 po zerowaniu: \n");
- printf_tab(tab2,3);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement