Advertisement
Lisaveta777

Swap

Oct 30th, 2018
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.25 KB | None | 0 0
  1. #include <stdio.h>
  2. #define SIZE 4
  3. //deitel 3.46 page 136
  4. void print_arr(int *,int);
  5. void code_arr(int *,int);
  6. void swap_arr(int *,int);
  7. void decode_arr(int *,int);
  8. void sw_elem(int *,int,int);
  9.  
  10. int main()
  11. {
  12.     int arr[SIZE];
  13.     //scanf("%d %d %d %d",&arr[0],&arr[1],&arr[2],&arr[3]);correct, looks bad IMHO
  14.     scanf("%d %d %d %d",arr,arr+1,arr+2,arr+3);//&arr[1] equals arr+1!!!
  15.    
  16.     print_arr(arr,SIZE);
  17.     code_arr(arr,SIZE);
  18.     print_arr(arr,SIZE);
  19.     swap_arr(arr,SIZE);
  20.     print_arr(arr,SIZE);
  21.     swap_arr(arr,SIZE);
  22.     print_arr(arr,SIZE);
  23.     decode_arr(arr,SIZE);
  24.     print_arr(arr,SIZE);
  25.  
  26.  
  27.  
  28.    return 0;
  29. }
  30. void print_arr(int *a,int s)
  31. {
  32.     int i;
  33.     for(i=0;i<s;i++)
  34.     {
  35.         printf("%d\t",a[i]);
  36.     }
  37.     printf("\n");
  38. }
  39.  
  40. void code_arr(int *a,int s)
  41. {
  42.     int i;
  43.     for(i=0;i<s;i++)
  44.     {
  45.         a[i]=(a[i]+7)%10;
  46.     }
  47. }
  48. void swap_arr(int *a,int s)
  49. {
  50.     sw_elem(a,0,2);//swaps elements with indexes 0 and 2
  51.     sw_elem(a,1,3);//swaps elements with indexes 1 and 3
  52. }
  53. void decode_arr(int *a,int s)
  54. {
  55.     int i;
  56.     for(i=0;i<s;i++)
  57.     {
  58.         a[i] = (a[i]>=8)? (a[i]-7):(a[i]+3);
  59.     }
  60. }
  61. void sw_elem(int *a,int k, int l)
  62. {
  63.     int temp = a[k];
  64.     a[k] = a[l];
  65.     a[l] = temp;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement