Sort by

recency

|

851 Discussions

|

  • + 0 comments

    include

    int main() { int n; scanf("%d",&n);

    int arr[n];
    
    for(int i=0;i<n;i++){
    
        scanf("%d",&arr[i]);
    }
    for(int i=n-1;i>=0;i--){
        printf("%d\n",arr[i]);
    }
    
    return 0;
    

    }

  • + 0 comments

    You guys over complicate so much

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int num, *arr, i;
        scanf("%d", &num);
        arr = (int*) malloc(num * sizeof(int));
        for(i = 0; i < num; i++) {
            scanf("%d", arr + i);
        }
    
    
        /* Write the logic to reverse the array. */
        int *myarr = (int*) malloc(num * sizeof(int));
        for(int i = num-1; i >= 0; i--){
            printf("%d ", arr[i]);
            myarr[i] = arr[i];
        }
    
        return 0;
    }
    
  • + 0 comments
    wihtout using the third variable
    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int num, *arr, i;
        scanf("%d", &num);
        arr = (int*) malloc(num * sizeof(int));
        for(i = 0; i < num; i++) {
            scanf("%d", arr + i);
        }
    
        for(i = 0; i<num/2;i++){
            arr[i] = arr[i] + arr[num-1-i];
            arr[num-1-i] = arr[i] - arr[num-1-i];
            arr[i] = arr[i] - arr[num-1-i];
        }
        
    
        for(i = 0; i < num; i++)
            printf("%d ", *(arr + i));
        return 0;
    }
    
  • + 0 comments

    include

    include

    int main() { int num, arr, i; scanf("%d", &num); arr = (int) malloc(num * sizeof(int)); for(i = 0; i < num; i++) { scanf("%d", arr + i); }

    /* Write the logic to reverse the array. */
       for(i = 0; i < num / 2; i++) {
        temp = arr[i];
        arr[i] = arr[num - i - 1];
        arr[num - i - 1] = temp;
    }
    
    
    for(i = 0; i < num; i++)
        printf("%d ", *(arr + i));
        free(arr);
    return 0;
    

    }

  • + 0 comments

    Saw a lot of code that prints the array just in reverse which is a perfect solution for this problem. If you want to actually reverse the array in your code and use it further I implemented the reversal with a xor swap. This way you don't need a temporary array or variable.

    include

    include

    int main() { int num, arr, i; scanf("%d", &num); arr = (int) malloc(num * sizeof(int)); for(i = 0; i < num; i++) { scanf("%d", arr + i); }

    /* Write the logic to reverse the array. */
    
    // reverse array using xor swap
    for(i = 0; i < num / 2; i++) {
        // implement xor swap
        // a, b
        // a = a^b
        // b = a^b
        // a = a^b
        // a and b values are swapped
        arr[i] = arr[i] ^ arr[num - i - 1];
        arr[num - i - 1] = arr[i] ^ arr[num - i - 1];
        arr[i] = arr[i] ^ arr[num - i - 1];
        }
    
    
    for(i = 0; i < num; i++)
        printf("%d ", *(arr + i));
    
    free(arr);
    
    return 0;
    

    }