Skip to content
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

All Linked List DSA concepts in one file. #330

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
154 changes: 77 additions & 77 deletions C/Date-to-day.c
Original file line number Diff line number Diff line change
@@ -1,78 +1,78 @@
#include <stdio.h>
/*
* function: validateDate
* arguments: d- day, m- month, y- year
* return type: 0 - invalid, 1 - valid
* */
int validateDate(int d, int m, int y)
{
//check year validity
if (y >= 1800 && y <= 2999) {
//check month validity
if (m >= 1 && m <= 12) {
//check day validity
if (d >= 1 && d <= 31) {
if ((d >= 1 && d <= 30) && (m == 4 || m == 6 || m == 9 || m == 11))
return 1; //valid date
else if ((d >= 1 && d <= 30) && (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12))
return 1; //valid date
else if ((d >= 1 && d <= 28) && (m == 2))
return 1; //valid date
else if (d == 29 && m == 2 && ((y % 400 == 0) || (y % 4 == 0 && y % 4 != 0)))
return 1; //valid date
else
return 0; //invalid day
}
else {
printf("\nTHERE IS NO SUCH MONTH DATE SO ADD CAREFULLY");
return 0; //day is invalid
}
}
else {
printf("\nTHERE ARE ONLY 12 MONTHS AS PER NOW SO JUST ADD DATE WITHIN IT");
return 0; //month is invalid
}
}
else {
printf("\nPLZ ENTER YEAR FROM 1800 TO 2999");
return 0; //year is invalid
}
}
// This function will return week day number from 0 to 6
int wd(int year, int month, int day)
{
int wday = 0;
wday = (day + ((153 * (month + 12 * ((14 - month) / 12) - 3) + 2) / 5)
+ (365 * (year + 4800 - ((14 - month) / 12)))
+ ((year + 4800 - ((14 - month) / 12)) / 4)
- ((year + 4800 - ((14 - month) / 12)) / 100)
+ ((year + 4800 - ((14 - month) / 12)) / 400)
- 32045)
% 7;
return wday;
}
int main()
{
int day, month, year;
int wDayNo = 0;
char dayNames[][12] = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
//input date
printf("Input date (DD-MM-YYYY): ");
scanf("%d-%d-%d", &day, &month, &year);
//check date is correct or not
if (validateDate(day, month, year) == 1) {
printf("Date is correct [%02d/%02d/%02d].\n", day, month, year);
//get weekday number
wDayNo = wd(year, month, day);
//print weekday according to wDayNo
printf("week day is: %s\n", dayNames[wDayNo]);
}
else
printf("\nDate is in-correct.\n");
return 0;
#include <stdio.h>

/*
* function: validateDate
* arguments: d- day, m- month, y- year
* return type: 0 - invalid, 1 - valid
* */
int validateDate(int d, int m, int y)
{
//check year validity
if (y >= 1800 && y <= 2999) {
//check month validity
if (m >= 1 && m <= 12) {
//check day validity
if (d >= 1 && d <= 31) {
if ((d >= 1 && d <= 30) && (m == 4 || m == 6 || m == 9 || m == 11))
return 1; //valid date
else if ((d >= 1 && d <= 30) && (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12))
return 1; //valid date
else if ((d >= 1 && d <= 28) && (m == 2))
return 1; //valid date
else if (d == 29 && m == 2 && ((y % 400 == 0) || (y % 4 == 0 && y % 4 != 0)))
return 1; //valid date
else
return 0; //invalid day
}
else {
printf("\nTHERE IS NO SUCH MONTH DATE SO ADD CAREFULLY");
return 0; //day is invalid
}
}
else {
printf("\nTHERE ARE ONLY 12 MONTHS AS PER NOW SO JUST ADD DATE WITHIN IT");
return 0; //month is invalid
}
}
else {
printf("\nPLZ ENTER YEAR FROM 1800 TO 2999");
return 0; //year is invalid
}
}
// This function will return week day number from 0 to 6
int wd(int year, int month, int day)
{
int wday = 0;
wday = (day + ((153 * (month + 12 * ((14 - month) / 12) - 3) + 2) / 5)
+ (365 * (year + 4800 - ((14 - month) / 12)))
+ ((year + 4800 - ((14 - month) / 12)) / 4)
- ((year + 4800 - ((14 - month) / 12)) / 100)
+ ((year + 4800 - ((14 - month) / 12)) / 400)
- 32045)
% 7;
return wday;
}

int main()
{
int day, month, year;
int wDayNo = 0;
char dayNames[][12] = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };

//input date
printf("Input date (DD-MM-YYYY): ");
scanf("%d-%d-%d", &day, &month, &year);

//check date is correct or not
if (validateDate(day, month, year) == 1) {
printf("Date is correct [%02d/%02d/%02d].\n", day, month, year);
//get weekday number
wDayNo = wd(year, month, day);
//print weekday according to wDayNo
printf("week day is: %s\n", dayNames[wDayNo]);
}
else
printf("\nDate is in-correct.\n");

return 0;
}
86 changes: 43 additions & 43 deletions C/SumOfArray.c
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
void main()
{
int i, n;
int *a, *b, *c;
printf("Enter the size of the arrays\n");
scanf("%d", &n);
a = (int *)malloc(n * sizeof(int));
b = (int *)malloc(n * sizeof(int));
c = (int *)malloc(n * sizeof(int));
printf("Enter Elements of First List\n");
for (i = 0; i < n; i++)
{
scanf("%d", a + i);
}
printf("Enter Elements of Second List\n");
for (i = 0; i < n; i++)
{
scanf("%d", b + i);
}
for (i = 0; i < n; i++)
{
*(c + i) = *(a + i) + *(b + i);
}
printf("Resultant List is\n");
for (i = 0; i < n; i++)
{
printf("%d\n", *(c + i));
}
return 0;
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

void main()
{

int i, n;
int *a, *b, *c;

printf("Enter the size of the arrays\n");
scanf("%d", &n);

a = (int *)malloc(n * sizeof(int));
b = (int *)malloc(n * sizeof(int));
c = (int *)malloc(n * sizeof(int));

printf("Enter Elements of First List\n");

for (i = 0; i < n; i++)
{
scanf("%d", a + i);
}

printf("Enter Elements of Second List\n");

for (i = 0; i < n; i++)
{
scanf("%d", b + i);
}

for (i = 0; i < n; i++)
{
*(c + i) = *(a + i) + *(b + i);
}

printf("Resultant List is\n");

for (i = 0; i < n; i++)
{
printf("%d\n", *(c + i));
}
return 0;
}
104 changes: 52 additions & 52 deletions C/main.c
Original file line number Diff line number Diff line change
@@ -1,52 +1,52 @@
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,i,c,sum=0,Mul=1;
printf("Enter first Number:");
scanf("%d",&a);
printf("\nEnter last Number:");
scanf("%d",&b);
printf("All odd numbers from %d-%d are:\n",a,b);
for (i=a;i<=b;i++)
{
if (i%2==1)
{
printf("%d\n",i);
}
}
printf("\n\tTo get Addition of that numbers Press 1:");
printf("\n\tTo get Multiplication of that numbers press 2:");
printf("\n\tpress:");
scanf("%d",&c);
switch (c)
{
{
case 1:
{
for (i=a;i<=b;i++)
{
if(i%2==1)
{
sum=sum+i;
}
}
printf("Addition is:%d",sum);
break;
}
case 2:
{
for(i=a;i<=b;i++)
{
if(i%2==1)
{
Mul=Mul*i;
}
}
printf("Multiplication is:%d",Mul);
}
}
return 0;
}
}
#include <stdio.h>
#include <stdlib.h>

int main()
{
int a,b,i,c,sum=0,Mul=1;
printf("Enter first Number:");
scanf("%d",&a);
printf("\nEnter last Number:");
scanf("%d",&b);
printf("All odd numbers from %d-%d are:\n",a,b);
for (i=a;i<=b;i++)
{
if (i%2==1)
{
printf("%d\n",i);
}
}
printf("\n\tTo get Addition of that numbers Press 1:");
printf("\n\tTo get Multiplication of that numbers press 2:");
printf("\n\tpress:");
scanf("%d",&c);
switch (c)
{
{
case 1:
{
for (i=a;i<=b;i++)
{
if(i%2==1)
{
sum=sum+i;
}
}
printf("Addition is:%d",sum);
break;
}
case 2:
{
for(i=a;i<=b;i++)
{
if(i%2==1)
{
Mul=Mul*i;
}
}
printf("Multiplication is:%d",Mul);
}
}
return 0;
}
}
Loading