diff --git a/513de10da425f3790aa54c94f23c06b8.jpg b/513de10da425f3790aa54c94f23c06b8.jpg new file mode 100644 index 0000000..d322824 Binary files /dev/null and b/513de10da425f3790aa54c94f23c06b8.jpg differ diff --git a/Armstrong Number b/Armstrong Number new file mode 100644 index 0000000..d531849 --- /dev/null +++ b/Armstrong Number @@ -0,0 +1,21 @@ +#include + +int main() +{ + int num,i,tmp,d,sumOfCubes=0; + printf("Enter the number : "); + scanf("%d",&num); + tmp = num; + while(num!=0) + { + d = num%10; + sumOfCubes = sumOfCubes + (d*d*d); + num = num/10; + } + if(tmp == sumOfCubes) + printf("It is a Armstrong Number"); + else + printf("It is not a Armstrong Number"); + + return 0; +} diff --git a/Armstrong Numbers in given interval b/Armstrong Numbers in given interval new file mode 100644 index 0000000..4bfad42 --- /dev/null +++ b/Armstrong Numbers in given interval @@ -0,0 +1,27 @@ +#include + +int main() +{ + int start,end,i,tmp,d,sumOfCubes=0,num; + printf("Enter the interval : "); + scanf("%d ",&start); + scanf("%d",&end); + for(num = start;num<=end;num++) + { + sumOfCubes=0; + tmp = num; + while(tmp!=0) + { + d = tmp%10; + sumOfCubes = sumOfCubes + (d*d*d); + tmp = tmp/10; + } + if(num == sumOfCubes) + printf("%d is a Armstrong Number\n",num); + else + printf("%d is not a Armstrong Number\n",num); + + + } + return 0; +} diff --git a/Armstrong.c b/Armstrong.c new file mode 100644 index 0000000..411970c --- /dev/null +++ b/Armstrong.c @@ -0,0 +1,41 @@ +#include +#include +int main() { + int low, high, number, originalNumber, rem, count = 0; + double result = 0.0; + printf("Enter two numbers(intervals): "); + scanf("%d %d", &low, &high); + printf("Armstrong numbers between %d and %d are: ", low, high); + + // iterate number from (low + 1) to (high - 1) + // In each iteration, check if number is Armstrong + for (number = low + 1; number < high; ++number) { + originalNumber = number; + + // number of digits calculation + while (originalNumber != 0) { + originalNumber /= 10; + ++count; + } + + originalNumber = number; + + // result contains sum of nth power of individual digits + while (originalNumber != 0) { + rem = originalNumber % 10; + result += pow(rem, count); + originalNumber /= 10; + } + + // check if number is equal to the sum of nth power of individual digits + if ((int)result == number) { + printf("%d ", number); + } + + // resetting the values + count = 0; + result = 0; + } + + return 0; +} \ No newline at end of file diff --git a/Check_Perfect.c b/Check_Perfect.c new file mode 100644 index 0000000..423684b --- /dev/null +++ b/Check_Perfect.c @@ -0,0 +1,19 @@ +#include +int Check_perfect(int n) +{ + int i,sum=0; + for(i=1;i +int main() +{ + char str[100]; + char *p; + int vCount=0,cCount=0; + + printf("Enter any string: "); + fgets(str, 100, stdin); + + //assign base address of char array to pointer + p=str; + + //'\0' signifies end of the string + while(*p!='\0') + { + if(*p=='A' ||*p=='E' ||*p=='I' ||*p=='O' ||*p=='U' + ||*p=='a' ||*p=='e' ||*p=='i' ||*p=='o' ||*p=='u') + vCount++; + else + cCount++; + //increase the pointer, to point next character + p++; + } + + printf("Number of Vowels in String: %d\n",vCount); + printf("Number of Consonants in String: %d",cCount); + return 0; +} diff --git a/Factors b/Factors new file mode 100644 index 0000000..4284774 --- /dev/null +++ b/Factors @@ -0,0 +1,17 @@ +#include + +int main() +{ + int num,i; + printf("Enter the number : "); + scanf("%d",&num); + printf("Factors are "); + for(i=1;i<=num/2;i++) + { + if(num % i == 0) + printf("%d ",i); + } + printf("%d",num); + + return 0; +} diff --git a/GreatestElement.c b/GreatestElement.c new file mode 100644 index 0000000..30ab513 --- /dev/null +++ b/GreatestElement.c @@ -0,0 +1,27 @@ +// C program to find maximum in arr[] of size n +#include + +// C function to find maximum in arr[] of size n +int largest(int arr[], int n) +{ + int i; + + // Initialize maximum element + int max = arr[0]; + + // Traverse array elements from second and + // compare every element with current max + for (i = 1; i < n; i++) + if (arr[i] > max) + max = arr[i]; + + return max; +} + +int main() +{ + int arr[] = {10, 324, 45, 90, 9808}; + int n = sizeof(arr)/sizeof(arr[0]); + printf("Largest in given array is %d", largest(arr, n)); + return 0; +} diff --git a/KadanesAlgo.c b/KadanesAlgo.c new file mode 100644 index 0000000..0f37268 --- /dev/null +++ b/KadanesAlgo.c @@ -0,0 +1,29 @@ +/*C program to find largest sum contiguous subarray using Kadane's Algorithm*/ +#include +#include + +int maxSubArraySum(int a[], int size) +{ + int max_so_far = INT_MIN, max_ending_here = 0; + int i; + for ( i = 0; i < size; i++) + { + max_ending_here = max_ending_here + a[i]; + if (max_so_far < max_ending_here) + max_so_far = max_ending_here; + + if (max_ending_here < 0) + max_ending_here = 0; + } + return max_so_far; +} + +/*Driver program to test maxSubArraySum*/ +int main() +{ + int a[] = {-2, -3, 4, -1, -2, 1, 5, -3}; + int n = sizeof(a)/sizeof(a[0]); + int max_sum = maxSubArraySum(a, n); + printf("Maximum contiguous sum is %d", max_sum ); + return 0; +} diff --git a/LargestinanArray.c b/LargestinanArray.c new file mode 100644 index 0000000..5ca499f --- /dev/null +++ b/LargestinanArray.c @@ -0,0 +1,27 @@ +#include +int main() +{ + int n; + double arr[100]; + printf("Enter the number of elements (1 to 100): "); + scanf("%d", &n); + + for (int i = 0; i < n; ++i) + { + printf("Enter number%d: ", i + 1); + scanf("%lf", &arr[i]); + } + + // storing the largest number to arr[0] + for (int i = 1; i < n; ++i) + { + if (arr[0] < arr[i]) + { + arr[0] = arr[i]; + } + } + + printf("Largest element = %.2lf", arr[0]); + + return 0; +} \ No newline at end of file diff --git a/Matrix_programs/Transpose_of_matrix.cpp b/Matrix_programs/Transpose_of_matrix.cpp new file mode 100644 index 0000000..05b8a1b --- /dev/null +++ b/Matrix_programs/Transpose_of_matrix.cpp @@ -0,0 +1,52 @@ +/* +Enter size of matrix-->3 + + Enter the elements of the array +4 7 0 +2 5 8 +4 3 8 + + Matrix is + 4 7 0 +2 5 8 +4 3 8 + + Tranpose of the matrix is + 4 2 4 +7 5 3 +0 8 8 +*/ +#include + +void main() + +{ + int a[20][20],i,j,n; + printf("Enter size of matrix-->"); + scanf("%d",&n); + printf("\n Enter the elements of the array \n"); + for(i=0;i +struct pair +{ +int min; +int max; +}; + +struct pair getMinMax(int arr[], int n) +{ +struct pair minmax; +int i; + +/*If there is only one element then return it as min and max both*/ +if (n == 1) +{ + minmax.max = arr[0]; + minmax.min = arr[0]; + return minmax; +} + +/* If there are more than one elements, then initialize min + and max*/ +if (arr[0] > arr[1]) +{ + minmax.max = arr[0]; + minmax.min = arr[1]; +} +else +{ + minmax.max = arr[1]; + minmax.min = arr[0]; +} + +for (i = 2; i minmax.max) + minmax.max = arr[i]; + + else if (arr[i] < minmax.min) + minmax.min = arr[i]; +} + +return minmax; +} + +/* Driver program to test above function */ +int main() +{ +int arr[] = {1000, 11, 445, 1, 330, 3000}; +int arr_size = 6; +struct pair minmax = getMinMax (arr, arr_size); +printf("nMinimum element is %d", minmax.min); +printf("nMaximum element is %d", minmax.max); +getchar(); +} diff --git a/Median.c b/Median.c new file mode 100644 index 0000000..00f8b3f --- /dev/null +++ b/Median.c @@ -0,0 +1,68 @@ +// A Simple Merge based O(n) solution to find +// median of two sorted arrays +#include + +/* This function returns median of ar1[] and ar2[]. +Assumption in this function: +Both ar1[] and ar2[] are sorted arrays */ +int getMedian(int ar1[], int ar2[], int n, int m) +{ + int i = 0; /* Current index of input array ar1[] */ + int j = 0; /* Current index of input array ar2[] */ + int count; + int m1 = -1, m2 = -1; + + // Since there are (n+m) elements, + // There are following two cases + // if n+m is odd then the middle + //index is median i.e. (m+n)/2 + if((m + n) % 2 == 1) { + for (count = 0; count <= (n + m)/2; count++) { + if(i != n && j != m){ + m1 = (ar1[i] > ar2[j]) ? ar2[j++] : ar1[i++]; + } + else if(i < n){ + m1 = ar1[i++]; + } + // for case when j ar2[j]) ? ar2[j++] : ar1[i++]; + } + else if(i < n){ + m1 = ar1[i++]; + } + // for case when j + +int main() +{ + + // o --> original number + // r --> reversed number + + int n, r= 0, remainder, o; + printf("Enter an number: "); + scanf("%d", &n); + o = n; + + while (n != 0) + { + remainder = n % 10; + r = r * 10 + remainder; + n /= 10; + } + + + if (o == r) + printf("%d is a palindrome.", o); + else + printf("%d is not a palindrome.", o); + + return 0; +} diff --git a/Pointer_Programs/Print_array_elements.c b/Pointer_Programs/Print_array_elements.c new file mode 100644 index 0000000..6a01d18 --- /dev/null +++ b/Pointer_Programs/Print_array_elements.c @@ -0,0 +1,13 @@ +// WRITE A C PROGRAM TO INPUT AND PRINT THE ELEMENTS OF ARRAY USING POINTERS +#include +int main() +{ + int arr[100],size; + printf("Enter the size of array:"); + scanf("%d",&size); + printf("Enter the elements of array:"); + for(int i=0;i +void copy(int *arr1,int *arr2,int n) +{ + int i; + for(i=0;i + +int main() +{ + int a,b, check; + int dum = 1; + + printf("Enter the range of values \n"); + printf("The Start : "); + scanf("%d", &a); + printf("The End : "); + scanf("%d", &b); + + printf("\n The Prime Numbers from %d to %d \n", a, b); + + for (int i = a; i<=b; i++) + { + check = 0; + + if (i <= 1) + continue; + + else if (i == 2) + check = 0; + + else + { + for (int j = 2; j<=(i/2)+1; j++) + { + if (i%j == 0) + { + check = 1; + break; + } + } + } + + if (check == 0) + { + printf("%d\t", i); + dum++; + } + + if (dum%6 == 0) + { + printf("\n"); + dum = 1; + } + } +} diff --git a/Print names of all Files.c b/Print names of all Files.c new file mode 100644 index 0000000..078b45a --- /dev/null +++ b/Print names of all Files.c @@ -0,0 +1,18 @@ +#include +#include + +int main(void) +{ + DIR *d; + struct dirent *dir; + d = opendir("."); + if (d) + { + while ((dir = readdir(d)) != NULL) + { + printf("%s\n", dir->d_name); + } + closedir(d); + } + return(0); +} diff --git a/README.md b/README.md index e06778b..889870d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,15 @@ -# C PROGRAMS +

C Programs

+ +
+ +

C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. By design, C provides constructs that map efficiently to typical machine instructions. -C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. By design, C provides constructs that map efficiently to typical machine instructions It can be used to develop software like operating systems, databases, compilers, and so on. - Hre you could contribute to your first C programs and can get your PR Merged with us + Here you could contribute to your C programs and get your PR Merged with us ! +

+
+ + diff --git a/Reverse a 5 digit Number b/Reverse a 5 digit Number new file mode 100644 index 0000000..e7ece4f --- /dev/null +++ b/Reverse a 5 digit Number @@ -0,0 +1,18 @@ +#include + +int main() +{ + long n,reverseNum; + int d; + printf("Enter the number : "); + scanf("%ld",&n); + while(n!=0) + { + d = n%10; + reverseNum = reverseNum*10 + d; + n = n/10; + } + printf("Reveresed Number is %ld",reverseNum); + + return 0; +} diff --git a/Sum b/Sum new file mode 100644 index 0000000..efb0fa7 --- /dev/null +++ b/Sum @@ -0,0 +1,27 @@ +#include + +int main() +{ + int a[3][3],b[3][3],c[3][3]; + for(int i=0;i<3;i++){ + for(int j=0;j<3;j++) +{ + scanf("%d ",&a[i][j]); +} +} +for(int i=0;i<3;i++){ +for(int j=0;j<3;j++) +{ + c[i][j]=a[i][j]+b[i][j]; +} +} +for(int i=0;i<3;i++){ + for(int j=0;j<3;j++) +{ + printf("%d ",c[i][j]); +} + printf("\n "); +} +return 0; +} + diff --git a/Sum of digits of a given number.c b/Sum of digits of a given number.c new file mode 100644 index 0000000..9c53d41 --- /dev/null +++ b/Sum of digits of a given number.c @@ -0,0 +1,23 @@ +// Program to compute sum of digits of a given number. +#include + +int main() +{ + int n = 0; //Initialising the variable that will store the user input; + int sum = 0; //The variable that will store the sum is initialised; + + scanf("%d",&n); //Taking the input from the user and storing it in the variable n; + + while (n != 0) //A loop that will run till n is not equal to 0; + { + sum = sum + n % 10; // Statement that adds the digits from rigth to left; + n = n / 10; // Statement that changes the value of n in each iteration; + } + + + printf("%d ", sum); // Printing the result; + + + return 0; // Program ends; + +} diff --git a/TOH.c b/TOH.c new file mode 100644 index 0000000..17a5696 --- /dev/null +++ b/TOH.c @@ -0,0 +1,12 @@ +#include +void TOH(int n,char x,char y,char z) { + if(n>0) { + TOH(n-1,x,z,y); + printf("\n%c to %c",x,y); + TOH(n-1,z,y,x); + } +} +int main() { + int n=3; + TOH(n,'A','B','C'); +} \ No newline at end of file diff --git a/calc_nPr.c b/calc_nPr.c new file mode 100644 index 0000000..7c71fae --- /dev/null +++ b/calc_nPr.c @@ -0,0 +1,42 @@ +#include + +void main() +{ + int n, r, npr_var; + + printf("Enter the value of n:"); + scanf("%d", &n); + printf("\nEnter the value of r:"); + scanf("%d", &r); + + /* nPr is also known as P(n,r), the formula is: + * P(n,r) = n! / (n - r)! For 0 <= r <= n. + */ + npr_var = fact(n) / fact(n - r); + printf("\nThe value of P(%d,%d) is: %d",n,r,npr_var); +} +// Function for calculating factorial +int fact(int num) +{ + int k = 1, i; + // factorial of 0 is 1 + if (num == 0) + { + return(k); + } + else + { + for (i = 1; i <= num; i++) + { + k = k * i; + } + } + return(k); +} +Output: + +Enter the value of n: +5 +Enter the value of r: +2 +The value of P(6,2) is: 30 diff --git a/factors_of_a_number.c b/factors_of_a_number.c new file mode 100644 index 0000000..0e666c5 --- /dev/null +++ b/factors_of_a_number.c @@ -0,0 +1,27 @@ +/* Factors of a number are all the numbers that divide a given number. + Example : Factors of 15 are 1, 3, 5, 15. +*/ + +#include + +int main() +{ + int num,i; + scanf("%d",&num); + printf("The factors of %d are\n", num); + for(i=1;i<=num/2;i++) + { + if(num % i == 0) + printf(" %d ",i); + } + printf(" %d ",num); + + return 0; +} + +/* Test Case : + For Input as 60 + Output is : + The factors of 60 are + 1 2 3 4 5 6 10 12 15 20 30 60 +*/ diff --git a/gitIssue5.c b/gitIssue5.c new file mode 100644 index 0000000..d0a4550 --- /dev/null +++ b/gitIssue5.c @@ -0,0 +1,38 @@ +// The following program displays prime numbers between two numbers + +#include + +int main() { + int low, high, i, flag; + printf("Enter two numbers(intervals): "); + scanf("%d %d", &low, &high); + printf("Prime numbers between %d and %d are: ", low, high); + + + while (low < high) { + flag = 0; + + if (low <= 1) { + ++low; + continue; + } + + // if low is a non-prime number, flag will be 1 + for (i = 2; i <= low / 2; ++i) { + + if (low % i == 0) { + flag = 1; + break; + } + } + + if (flag == 0) + printf("%d ", low); + + // to check prime for the next number + // increase low by 1 + ++low; + } + + return 0; +} diff --git a/gitissue2.c b/gitissue2.c new file mode 100644 index 0000000..49d3a90 --- /dev/null +++ b/gitissue2.c @@ -0,0 +1,17 @@ +#include +int main() +{ +int i,j,n; +printf("ENTER THE NUMBER OF ROWS YOU WANT TO PRINT * PYRAMID PATTERN\n"); +scanf("%d", &n); +for(i = 1 ; i <= n ; i++) +{ + for (j = 1 ; j <= 2*n-1 ; j++) +{ + if (j >= n-(i-1) && j <= n+(i-1)) + { printf("*"); } + else + {printf(" "); } +} +printf("\n"); +} diff --git a/largest_of_three_no_using_Pointers.c b/largest_of_three_no_using_Pointers.c new file mode 100644 index 0000000..39f3588 --- /dev/null +++ b/largest_of_three_no_using_Pointers.c @@ -0,0 +1,30 @@ +#include + +int max(int x,int y) { + +return x>y ? x : y; +} + + +int main() +{ + int a, b, c, *p1, *p2, *p3; + + printf("Enter First Number: "); + scanf("%d",&a); + printf("Enter Second Number: "); + scanf("%d",&b); + printf("Enter Third Number: "); + scanf("%d",&c); + + + p1 = &a; + p2 = &b; + p3 = &c; + + int result = max(*p1 , max(*p2 , *p3)); + + printf("\n\n %d is the largest number", result ); + + return 0; +} diff --git a/patterns/number_half_pyramid.cpp b/patterns/number_half_pyramid.cpp new file mode 100644 index 0000000..ea8bd04 --- /dev/null +++ b/patterns/number_half_pyramid.cpp @@ -0,0 +1,34 @@ +/*to print +input=6 +output= +1 +12 +123 +1234 +12345 +123456 +*/ +#include +void main() +{ + int a,b,c,rows; + printf("Enter the number of rows: "); + scanf("%d", &rows); + for(a=1;a<=rows;a++) + { + for(b=rows-1;b>a;b--) + { + printf(" "); + } + printf("\n"); + for(c=1;c<=a;c++) + { + printf("%d",c); + + + } + } +} + + + diff --git a/patterns/reverse_half_pyramid b/patterns/reverse_half_pyramid new file mode 100644 index 0000000..20d0c5c --- /dev/null +++ b/patterns/reverse_half_pyramid @@ -0,0 +1,28 @@ +/* +Enter the number of rows: 7 +******* +****** +***** +**** +*** +** +* + +*/ +#include +void main() +{ + int a,b,rows; + printf("Enter the number of rows: "); + scanf("%d", &rows); + for(a=rows;a>0;a--) + { + for(b=1;b<=a;b++) + { + printf("*"); + + + } + printf("\n"); + } +} diff --git a/without a main().c b/without a main().c new file mode 100644 index 0000000..614fd81 --- /dev/null +++ b/without a main().c @@ -0,0 +1,12 @@ +#include +//Need to include the following statements in same manner +#define decode(m,a,i,n) m##a##i##n +#define go decode(m,a,i,n) + +int go() +{ + printf("\n\n\t\tStudytonight - Best place to learn\n\n\n"); + printf("You have just executed your first program without making use of main() function!\n"); + printf("\n\n\t\t\tCoding is Fun !\n\n\n"); + return 0; +}