Module IV Solutions
Module IV Solutions
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int c1 = 0, c2 = 0;
int n1 = strlen(a);
int n2 = strlen(b);
int i;
hsh1[a[i] - 'a'] = 1;
hsh2[b[i] - 'a'] = 1;
c1++;
if(hsh2[i])
c2++;
if( c1 != c2)
else
if(strlen(a) != strlen(b))
else
void string_sort(char** arr,const int len,int (*cmp_func)(const char* a, const char* b))
{ int i;
int j = i;
char* p = arr[i];
if((*cmp_func)(arr[j-1],p) > 0 )
arr[j] = arr[j-1];
else
break;
j--;
arr[j] = p;
int main()
int n,i;
scanf("%d", &n);
char** arr;
string_sort(arr, n, lexicographic_sort);
printf("%s\n", arr[i]);
printf("\n");
string_sort(arr, n, lexicographic_sort_reverse);
printf("\n");
string_sort(arr, n, sort_by_length);
printf("%s\n", arr[i]);
printf("\n");
string_sort(arr, n, sort_by_number_of_distinct_characters);
printf("%s\n", arr[i]);
printf("\n");
1D ARRAYS IN C
#include <stdio.h>
#include <stdlib.h>
int main()
int n;
scanf("%d", &n);
// Read the values from stdin and store them in the array
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
int sum = 0;
sum += arr[i];
printf("%d\n", sum);
free(arr);
return 0;
Array Reversal
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, arr[1000], i;
scanf("%d", &n);
scanf("%d", &arr[i]);
return 0;
#include <string.h>
#include <math.h>
#include <stdlib.h>
struct node {
int data;
};
return;
printf("%d ",root->data);
preOrder(root->left);
preOrder(root->right);
newNode->data = data;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
} else {
return root;
int main() {
int t;
int data;
scanf("%d", &t);
while(t-- > 0) {
scanf("%d", &data);
preOrder(root);
return 0;
if (numsSize == 0) {
return 0;
int k = 1;
int i;
// If the current element is different from the previous one, it's unique
nums[k] = nums[i];
return k;
int main() {
// Example input
int i;
printf("\n");
return 0;