Skip to content

Added C folder and some basic algos #88

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
36 changes: 36 additions & 0 deletions C++/Selection_Sort.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#include<iostream>
using namespace std;

void selectionSort(int arr[], int size) {
int i, j, min;
for(i = 0 ; i < size -1 ; i++) {
min = i;
for(j = i + 1 ; j < size ; j++)
if(arr[j] < arr[min])
min = j;
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
int main() {
int n;
cout << "Enter the number of elements: ";
cin >> n;
int arr[n];
cout << "Enter elements:" << endl;
for(int i = 0 ; i < n ; i++)
cin >> arr[i];

cout << "Array before Sorting: ";
for(int i = 0 ; i < n ; i++)
cout << arr[i] << " ";
cout << endl;

selectionSort(arr, n);
cout << "Array after Sorting: ";
for(int i = 0 ; i < n ; i++)
cout << arr[i] << " ";
cout << endl;
return 0;
}
18 changes: 18 additions & 0 deletions C/Math/Factorial.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

#include <stdio.h>

int main(){
int c, n, f = 1;

printf("Enter a number to calculate its factorial\n");
scanf("%d", &n);
if(n>=0){
for (c = 1; c <= n; c++)
f = f * c;

printf("Factorial of %d = %d\n", n, f);
}
else
printf("Number Should be greater than zero\n");
return 0;
}
39 changes: 39 additions & 0 deletions C/Searching/Binary_Search.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

#include <stdio.h>

int main()
{
int c, first, last, middle, n, search, array[100];

printf("Enter number of elements\n");
scanf("%d", &n);

printf("Enter %d integers\n", n);

for (c = 0; c < n; c++)
scanf("%d", &array[c]);

printf("Enter value to find\n");
scanf("%d", &search);

first = 0;
last = n - 1;
middle = (first+last)/2;

while (first <= last) {
if (array[middle] < search)
first = middle + 1;
else if (array[middle] == search) {
printf("%d found at location %d.\n", search, middle+1);
break;
}
else
last = middle - 1;

middle = (first + last)/2;
}
if (first > last)
printf("Not found! %d isn't present in the list.\n", search);

return 0;
}
31 changes: 31 additions & 0 deletions C/Searching/Linear_Search.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

#include <stdio.h>

int main()
{
int array[100], search, c, n;

printf("Enter number of elements in array\n");
scanf("%d", &n);

printf("Enter %d integer(s)\n", n);

for (c = 0; c < n; c++)
scanf("%d", &array[c]);

printf("Enter a number to search\n");
scanf("%d", &search);

for (c = 0; c < n; c++)
{
if (array[c] == search) /* If required element is found */
{
printf("%d is present at location %d.\n", search, c+1);
break;
}
}
if (c == n)
printf("%d isn't present in the array.\n", search);

return 0;
}
Loading