diff --git a/.github/ISSUE_TEMPLATE/contribution.md b/.github/ISSUE_TEMPLATE/contribution.md
index fd6a3834..377f463e 100644
--- a/.github/ISSUE_TEMPLATE/contribution.md
+++ b/.github/ISSUE_TEMPLATE/contribution.md
@@ -2,8 +2,10 @@
- Fork this [repo](https://github.com/swaaz/basicprograms)
- Clone it using command :
$ git clone paste_the_copied_url.
+- Open folder "basicprograms" :
+$ cd basicprograms
- Open folder "C/Python" :
-$ cd filder_name
+$ cd folder_name
eg:cd C
- Create new branch :
$ git branch new_branch_name
diff --git a/C/Program-43/program.c b/C/Program-43/program.c
new file mode 100644
index 00000000..35e5b447
--- /dev/null
+++ b/C/Program-43/program.c
@@ -0,0 +1,45 @@
+
+// C program for printing the hollow triangle pattern
+
+#include
+
+// Function for printing pattern
+void pattern(int N)
+{
+ int i, j, k = 0, space = 1, rows = N;
+
+ // For printing stars
+ for (i = rows; i >= 1; i--) {
+ for (j = 1; j <= i; j++) {
+ printf("*");
+ }
+ if (i != rows) {
+ // for printing space
+ for (k = 1; k <= space; k++) {
+ printf(" ");
+ }
+
+ // increment by 2
+ space = space + 2;
+ }
+ for (j = i; j >= 1; j--) {
+ if (j != rows)
+ printf("*");
+ }
+ printf("\n");
+ }
+ printf("\n");
+}
+
+// Driver code
+int main()
+{
+
+ // Get N
+ int N = 6;
+
+ // Print the pattern
+ pattern(N);
+
+ return 0;
+}
diff --git a/C/README.md b/C/README.md
index 5281951b..5076d0b7 100644
--- a/C/README.md
+++ b/C/README.md
@@ -41,4 +41,11 @@
| Program-37 | Program to find the fibonacci sequnce using recursion |
| Program-38 | Program to find the factorial of a number using recursion |
| Program-39 | Program to find the GCD of a number using recursion |
+| Program-40 | Program to find the ackerman of given two numbers|
+| Program-41 | Program to find sum of two numbers without using any operator |
+| Program-42 | Program to print Floyd’s triangle Without using a temporary variable and with only one loop |
+| Program-43 | Program for printing the hollow triangle pattern |
+| Program-44 | Program for implementation of the approach |
+| Program-45 | Program to illustrate the above given pattern of numbers. |
+
diff --git a/C/program-40/program.c b/C/program-40/program.c
new file mode 100644
index 00000000..f48a3382
--- /dev/null
+++ b/C/program-40/program.c
@@ -0,0 +1,22 @@
+/*Write a C program to find the Ackermann of 2 Numbers*/
+
+#include
+int ack(int m,int n)
+{
+ if(m==0)
+ return n+1;
+ else if(m!=0 && n==0)
+ return ack(m-1,1);
+ else if (m!=0 && n!=0)
+ return ack(m-1,ack(m,n-1));
+}
+
+int main()
+{
+ int a,b,c;
+ printf("Enter 2 Elements:\n");
+ scanf("%d%d",&a,&b);
+ c=ack(a,b);
+ printf("Ackermann(%d,%d)=%d",a,b,c);
+ return 0;
+}
diff --git a/C/program-41/program.c b/C/program-41/program.c
new file mode 100644
index 00000000..2cd3cd17
--- /dev/null
+++ b/C/program-41/program.c
@@ -0,0 +1,14 @@
+/*To find sum of two numbers without using any operator*/
+#include
+
+int add(int x, int y)
+{
+ return printf("%*c%*c", x, ' ', y, ' ');
+}
+
+// Driver code
+int main()
+{
+ printf("Sum = %d", add(3, 4));
+ return 0;
+}
diff --git a/C/program-42/program42.c b/C/program-42/program42.c
new file mode 100644
index 00000000..5a6154b0
--- /dev/null
+++ b/C/program-42/program42.c
@@ -0,0 +1,17 @@
+/*C Program to print Floyd’s triangle*/
+// Without using a temporary variable and with only one loop
+#include
+void floyd(n){
+ int i,j=1;
+ for (i=1;i<=(n*(n+1))/2;i++){
+ printf("%d ",i);
+ if(i==(j*(j+1))/2){
+ printf("\n");
+ j++;
+ }
+ }
+}
+
+int main(){
+ floyd(6);
+}
diff --git a/C/program-44/program.c b/C/program-44/program.c
new file mode 100644
index 00000000..24dbbcb7
--- /dev/null
+++ b/C/program-44/program.c
@@ -0,0 +1,48 @@
+// C implementation of the approach
+#include
+
+// Function to print the desired
+// Alphabet Z Pattern
+void alphabet_Z_Pattern(int N)
+{
+ int index, side_index, size;
+
+ // Declaring the values of Right,
+ // Left and Diagonal values
+ int Top = 1, Bottom = 1, Diagonal = N - 1;
+
+ // Loop for printing the first row
+ for (index = 0; index < N; index++)
+ printf("%d ", Top++);
+
+ printf("\n");
+
+ // Main Loop for the rows from (2 to n-1)
+ for (index = 1; index < N - 1; index++) {
+
+ // Spaces for the diagonals
+ for (side_index = 0; side_index < 2 * (N - index - 1);
+ side_index++)
+ printf(" ");
+
+ // Printing the diagonal values
+ printf("%d", Diagonal--);
+
+ printf("\n");
+ }
+
+ // Loop for printing the last row
+ for (index = 0; index < N; index++)
+ printf("%d ", Bottom++);
+}
+
+// Driver Code
+int main()
+{
+ // Size of the Pattern
+ int N = 5;
+
+ alphabet_Z_Pattern(N);
+
+ return 0;
+}
diff --git a/C/program-45/program.c b/C/program-45/program.c
new file mode 100644
index 00000000..a19e4af8
--- /dev/null
+++ b/C/program-45/program.c
@@ -0,0 +1,37 @@
+
+// C program to illustrate the above given pattern of numbers.
+#include
+
+int main()
+{
+ int n = 5, i, j, num = 1, gap;
+
+ gap = n - 1;
+
+ for ( j = 1 ; j <= n ; j++ )
+ {
+ num = j;
+
+ for ( i = 1 ; i <= gap ; i++ )
+ printf(" ");
+
+ gap --;
+
+ for ( i = 1 ; i <= j ; i++ )
+ {
+ printf("%d", num);
+ num++;
+ }
+ num--;
+ num--;
+ for ( i = 1 ; i < j ; i++)
+ {
+ printf("%d", num);
+ num--;
+ }
+ printf("\n");
+
+ }
+
+ return 0;
+}