en
Feedback
C Programming Language || Hands On Coding

C Programming Language || Hands On Coding

Open in Telegram

Hands-on C programming language challenges for beginners. Learn building logic by solving programs. Owner: @Pradeep_saii

Show more

πŸ“ˆ Analytical overview of Telegram channel C Programming Language || Hands On Coding

Channel C Programming Language || Hands On Coding (@c_programming_language_coding) in the English language segment is an active participant. Currently, the community unites 12 818 subscribers, ranking 9 567 in the Technologies & Applications category and 30 989 in the India region.

πŸ“Š Audience metrics and dynamics

Since its creation on Π½Π΅Π²Ρ–Π΄ΠΎΠΌΠΎ, the project has demonstrated rapid growth, gathering an audience of 12 818 subscribers.

According to the latest data from 28 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -213 over the last 30 days and by -1 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 6.87%. Within the first 24 hours after publication, content typically collects 2.42% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 881 views. Within the first day, a publication typically gains 310 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 2.
  • Thematic interests: Content is focused on key topics such as input, string, scanf("%d, array, element.

πŸ“ Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
β€œHands-on C programming language challenges for beginners. Learn building logic by solving programs. Owner: @Pradeep_saii”

Thanks to the high frequency of updates (latest data received on 29 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

12 818
Subscribers
-124 hours
-297 days
-21330 days
Posts Archive
Transpose of a Matrix
#include <stdio.h>

int main() {
    int matrix[10][10], transpose[10][10];
    int row, col;
    scanf("%d %d", &row, &col);
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            scanf("%d", &matrix[i][j]);
        }
    }
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            transpose[j][i] = matrix[i][j];
        }
    }
    for (int i = 0; i < col; i++) {
        for (int j = 0; j < row; j++) {
            printf("%d ", transpose[i][j]);
        }
        printf("\n");
    }
    return 0;
}

Matrix Multiplication
#include <stdio.h>

int main() {
    int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    int b[3][3] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};
    int result[3][3] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}};

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            for (int k = 0; k < 3; k++) {
                result[i][j] += a[i][k] * b[k][j];
            }
        }
    }

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            printf("%d ", result[i][j]);
        }
        printf("\n");
    }

    return 0;
}

Matrix Subtraction
#include <stdio.h>

int main() {
    int rows, cols;
    printf("Enter rows and columns: ");
    scanf("%d %d", &rows, &cols);

    int matrix1[rows][cols], matrix2[rows][cols], result[rows][cols];

    printf("Enter elements of matrix 1:\n");
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            scanf("%d", &matrix1[i][j]);

    printf("Enter elements of matrix 2:\n");
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            scanf("%d", &matrix2[i][j]);

    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            result[i][j] = matrix1[i][j] - matrix2[i][j];

    printf("Resultant matrix:\n");
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++)
            printf("%d ", result[i][j]);
        printf("\n");
    }

    return 0;
}

Matrix Addition
#include <stdio.h>

int main() {
    int rows, cols;
    printf("Enter rows and columns: ");
    scanf("%d %d", &rows, &cols);

    int matrix1[rows][cols], matrix2[rows][cols], sum[rows][cols];

    printf("Enter elements of first matrix:\n");
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            scanf("%d", &matrix1[i][j]);

    printf("Enter elements of second matrix:\n");
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            scanf("%d", &matrix2[i][j]);

    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            sum[i][j] = matrix1[i][j] + matrix2[i][j];

    printf("Sum of matrices:\n");
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++)
            printf("%d ", sum[i][j]);
        printf("\n");
    }

    return 0;
}

Input and Print Matrix Elements
#include <stdio.h>

int main() {
  int rows, cols, i, j;
  printf("Enter rows and columns: ");
  scanf("%d %d", &rows, &cols);
  int matrix[rows][cols];

  printf("Enter matrix elements:\n");
  for (i = 0; i < rows; i++) {
    for (j = 0; j < cols; j++) {
      scanf("%d", &matrix[i][j]);
    }
  }

  printf("Matrix elements are:\n");
  for (i = 0; i < rows; i++) {
    for (j = 0; j < cols; j++) {
      printf("%d ", matrix[i][j]);
    }
    printf("\n");
  }
  return 0;
}

Longest Increasing Subarray
#include <stdio.h>

int main() {
    int arr[] = {1, 3, 2, 4, 5, 6, 3, 8, 9};
    int n = sizeof(arr) / sizeof(arr[0]);
    int maxLength = 1;
    int currentLength = 1;
    int start = 0;
    int bestStart = 0;

    for (int i = 1; i < n; i++) {
        if (arr[i] > arr[i - 1]) {
            currentLength++;
        } else {
            if (currentLength > maxLength) {
                maxLength = currentLength;
                bestStart = start;
            }
            currentLength = 1;
            start = i;
        }
    }

    if (currentLength > maxLength) {
        maxLength = currentLength;
        bestStart = start;
    }

    printf("Longest increasing subarray: ");
    for (int i = bestStart; i < bestStart + maxLength; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

Maximum Product of Two Elements in Array
#include <stdio.h>

int main() {
    int arr[] = {1, 5, 4, 6, 0};
    int n = sizeof(arr) / sizeof(arr[0]);
    int max1 = arr[0];
    int max2 = arr[1];

    if (max2 > max1) {
        int temp = max1;
        max1 = max2;
        max2 = temp;
    }

    for (int i = 2; i < n; i++) {
        if (arr[i] > max1) {
            max2 = max1;
            max1 = arr[i];
        } else if (arr[i] > max2) {
            max2 = arr[i];
        }
    }

    printf("Maximum product: %d\n", max1 * max2);
    return 0;
}

Find Missing Number in Range 1 to N using Arrays
#include <stdio.h>

int main() {
    int arr[] = {1, 2, 4, 6, 3, 7, 8};
    int n = sizeof(arr) / sizeof(arr[0]);
    int N = 8;
    int present[N + 1];

    for (int i = 0; i <= N; i++) {
        present[i] = 0;
    }

    for (int i = 0; i < n; i++) {
        present[arr[i]] = 1;
    }

    for (int i = 1; i <= N; i++) {
        if (present[i] == 0) {
            printf("Missing number: %d\n", i);
            break;
        }
    }

    return 0;
}

Find Leader Elements in an Array
#include <stdio.h>

int main() {
  int arr[] = {16, 17, 4, 3, 5, 2};
  int n = sizeof(arr) / sizeof(arr[0]);
  int max_from_right = arr[n - 1];

  printf("%d ", max_from_right);

  for (int i = n - 2; i >= 0; i--) {
    if (arr[i] > max_from_right) {
      max_from_right = arr[i];
      printf("%d ", max_from_right);
    }
  }
  printf("\n");
  return 0;
}

Equilibrium Index in an Array
#include <stdio.h>

int main() {
    int arr[] = {-7, 1, 5, 2, -4, 3, 0};
    int n = sizeof(arr) / sizeof(arr[0]);
    int leftSum, rightSum, i, j;

    for (i = 0; i < n; i++) {
        leftSum = 0;
        for (j = 0; j < i; j++) {
            leftSum += arr[j];
        }

        rightSum = 0;
        for (j = i + 1; j < n; j++) {
            rightSum += arr[j];
        }

        if (leftSum == rightSum) {
            printf("Equilibrium index: %d\n", i);
            return 0;
        }
    }

    printf("No equilibrium index found.\n");
    return 0;
}

Array Element Equality Check (Any Order)
#include <stdio.h>
#include <stdbool.h>

#define MAX_SIZE 100

bool areArraysEqual(int arr1[], int arr2[], int size1, int size2) {
    if (size1 != size2) {
        return false;
    }

    int count[MAX_SIZE] = {0};

    for (int i = 0; i < size1; i++) {
        count[arr1[i]]++;
    }

    for (int i = 0; i < size2; i++) {
        count[arr2[i]]--;
    }

    for (int i = 0; i < MAX_SIZE; i++) {
        if (count[i] != 0) {
            return false;
        }
    }

    return true;
}

int main() {
    int arr1[] = {1, 2, 3, 4, 5};
    int arr2[] = {5, 4, 3, 2, 1};
    int size1 = sizeof(arr1) / sizeof(arr1[0]);
    int size2 = sizeof(arr2) / sizeof(arr2[0]);

    if (areArraysEqual(arr1, arr2, size1, size2)) {
        printf("Arrays are equal.\n");
    } else {
        printf("Arrays are not equal.\n");
    }

    return 0;
}

Check if Two Arrays are Equal
#include <stdio.h>
#include <stdbool.h>

bool areArraysEqual(int arr1[], int arr2[], int size) {
    for (int i = 0; i < size; i++) {
        if (arr1[i] != arr2[i]) {
            return false;
        }
    }
    return true;
}

int main() {
    int arr1[] = {1, 2, 3, 4, 5};
    int arr2[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr1) / sizeof(arr1[0]);

    if (areArraysEqual(arr1, arr2, size)) {
        printf("Arrays are equal.\n");
    } else {
        printf("Arrays are not equal.\n");
    }

    return 0;
}

Check if Array is Sorted and Rotated
#include <stdio.h>
#include <stdbool.h>

bool isSortedAndRotated(int arr[], int n) {
    int i, minIndex = 0;
    for (i = 1; i < n; i++)
        if (arr[i] < arr[minIndex])
            minIndex = i;

    for (i = 1; i < n; i++)
        if (arr[(minIndex + i) % n] < arr[(minIndex + i - 1) % n])
            return false;

    return true;
}

int main() {
    int arr[] = {3, 4, 5, 1, 2};
    int n = sizeof(arr) / sizeof(arr[0]);

    if (isSortedAndRotated(arr, n))
        printf("Array is sorted and rotated\n");
    else
        printf("Array is not sorted and rotated\n");

    return 0;
}

Shift Negative Elements in Array
#include <stdio.h>

void shiftNegative(int arr[], int n) {
 int j = 0;
 for (int i = 0; i < n; i++) {
 if (arr[i] < 0) {
 if (i != j) {
 int temp = arr[i];
 arr[i] = arr[j];
 arr[j] = temp;
 }
 j++;
 }
 }
}

int main() {
 int arr[] = {1, -2, 3, -4, 5, -6};
 int n = sizeof(arr) / sizeof(arr[0]);

 shiftNegative(arr, n);

 for (int i = 0; i < n; i++) {
 printf("%d ", arr[i]);
 }
 printf("\n");

 return 0;
}

Move Zeros to the End of an Array
#include <stdio.h>

void moveZerosToEnd(int arr[], int n) {
    int count = 0;
    for (int i = 0; i < n; i++) {
        if (arr[i] != 0) {
            arr[count++] = arr[i];
        }
    }
    while (count < n) {
        arr[count++] = 0;
    }
}

int main() {
    int arr[] = {0, 1, 0, 3, 12};
    int n = sizeof(arr) / sizeof(arr[0]);
    moveZerosToEnd(arr, n);
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
    return 0;
}

Left Rotate Array by K Positions
#include <stdio.h>

void leftRotate(int arr[], int n, int k) {
 int temp[k];
 for (int i = 0; i < k; i++) {
 temp[i] = arr[i];
 }
 for (int i = k; i < n; i++) {
 arr[i - k] = arr[i];
 }
 for (int i = 0; i < k; i++) {
 arr[n - k + i] = temp[i];
 }
}

int main() {
 int arr[] = {1, 2, 3, 4, 5, 6, 7};
 int n = sizeof(arr) / sizeof(arr[0]);
 int k = 2;
 leftRotate(arr, n, k);
 for (int i = 0; i < n; i++) {
 printf("%d ", arr[i]);
 }
 printf("\n");
 return 0;
}

Right Rotate Array by 1 Position
#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int n = sizeof(arr) / sizeof(arr[0]);
    int temp = arr[n - 1];

    for (int i = n - 1; i > 0; i--) {
        arr[i] = arr[i - 1];
    }

    arr[0] = temp;

    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

Left Rotate Array by 1 Position
#include <stdio.h>

void leftRotate(int arr[], int n) {
 int temp = arr[0];
 for (int i = 0; i < n - 1; i++) {
 arr[i] = arr[i+1];
 }
 arr[n-1] = temp;
}

int main() {
 int arr[] = {1, 2, 3, 4, 5};
 int n = sizeof(arr) / sizeof(arr[0]);

 leftRotate(arr, n);

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

c_arrays.pdf8.36 KB