DAC-ul
From Algopedia
Jump to navigationJump to search
/* Nume program : DAC-ul.c Nume concurent : Diaconu Andrei-Calin */ #include <stdio.h> #include <stdlib.h> int v[30], S; int citire() { char c; int i=0; do { scanf("%d", &v[i]); c=fgetc(stdin); i++; }while(c!='\n'); return i+1; } void xor(int n) { int i; S=0; for(i=0;i<n;i++) S=S^v[i]; } void afisare(int n) { int i; printf("%d", v[0]); for(i=1;i<n;i++) printf(" %d", v[i]); printf("\n"); } int main() { int n, i, gasit=0, x; n=citire(); xor(n); if(S!=0) { i=0; while(gasit==0 && i<n) { x=v[i]^S; if(v[i]>x) gasit=1; i++; } i--; v[i]=v[i]^S; afisare(n-1); } else { i=0; while(v[i]==0) i++; v[i]--; afisare(n-1); } return 0; }