diff --git a/COHENSUTHERLAND_LINECLIPPING_ALGO.CPP b/COHENSUTHERLAND_LINECLIPPING_ALGO.CPP index a115507..91e8951 100644 --- a/COHENSUTHERLAND_LINECLIPPING_ALGO.CPP +++ b/COHENSUTHERLAND_LINECLIPPING_ALGO.CPP @@ -4,6 +4,7 @@ #include #include #include + void main() { int gd=DETECT,gm; @@ -144,11 +145,3 @@ void main() closegraph(); getch(); } - - - - - - - - diff --git a/Compiler_Design/lex_programs/abc.l b/Compiler_Design/lex_programs/abc.l new file mode 100644 index 0000000..b1d057f --- /dev/null +++ b/Compiler_Design/lex_programs/abc.l @@ -0,0 +1,16 @@ +%option noyywrap +%{ +#include +%} + +%% +abc {strcpy(yytext, "ABC"); ECHO;} +. ECHO; +%% + +int main(){ + yyin = fopen("abc.txt", "r"); + yyout = fopen("resul_abc.txt", "w"); + yylex(); + return 0; +} diff --git a/Compiler_Design/lex_programs/abc.txt b/Compiler_Design/lex_programs/abc.txt new file mode 100644 index 0000000..3462879 --- /dev/null +++ b/Compiler_Design/lex_programs/abc.txt @@ -0,0 +1,3 @@ +sdjkagkdfjahsd abc +\abc +abc diff --git a/Compiler_Design/lex_programs/vc.l b/Compiler_Design/lex_programs/vc.l new file mode 100644 index 0000000..61db9d1 --- /dev/null +++ b/Compiler_Design/lex_programs/vc.l @@ -0,0 +1,16 @@ +%option noyywrap +%{ + int vowels=0, consonants=0; +%} + +%% +[aeiouAEIOU] vowels++; +[a-zA-Z] consonants++; +%% + +int main(){ + yylex(); + printf("\n\nvowels=%d \nconsonants=%d\n", vowels, consonants); + return 0; +} + diff --git a/Compiler_Design/lex_programs/wcl.l b/Compiler_Design/lex_programs/wcl.l new file mode 100644 index 0000000..db89278 --- /dev/null +++ b/Compiler_Design/lex_programs/wcl.l @@ -0,0 +1,17 @@ +%option noyywrap +%{ + int words=0, chars=0, lines=0; +%} + +%% +[a-zA-Z]+ {words++; chars+=yyleng;} +\n {chars++; lines++;} +. chars++; +%% + + +int main(){ + yylex(); + printf("\n\nwords=%d \ncharacters= %d \nlines= %d \n", words, chars, lines); + return 0; +} diff --git a/Compiler_Design/yacc_programs/iden.l b/Compiler_Design/yacc_programs/iden.l new file mode 100644 index 0000000..c968034 --- /dev/null +++ b/Compiler_Design/yacc_programs/iden.l @@ -0,0 +1,12 @@ +%option noyywrap +%{ +#include "iden.tab.h" +%} + +%% +[0-9] { return DIGIT;} +[_a-zA-Z] {return LETTER;} +\n {return NL;} +. {return yytext[0];} +%% + diff --git a/Compiler_Design/yacc_programs/iden.y b/Compiler_Design/yacc_programs/iden.y new file mode 100644 index 0000000..e577e9d --- /dev/null +++ b/Compiler_Design/yacc_programs/iden.y @@ -0,0 +1,25 @@ +%{ +#include +#include +%} + +%token NL DIGIT LETTER + +%% +stmt: variable NL {printf("Valid Identifier\n"); return 0;} +variable: LETTER alphanumeric +alphanumeric: LETTER alphanumeric | DIGIT alphanumeric | LETTER | DIGIT + +%% +int main() +{ + printf("Enter an Identifier\n"); + yyparse(); + return 0; +} +int yyerror() +{ + printf("Invalid Identifier!\n"); + exit(0); +} + diff --git a/Description.c b/Description.c index aab0933..db78c07 100644 --- a/Description.c +++ b/Description.c @@ -1,13 +1,13 @@ -#include -#include -void main() -{ - printf("WELCOME TO HACKTOBERFEST 2020!!!!!"); - printf("So let's get started!"); - printf("I guess everybody is a noobie here"); - printf("My whole life was a bruh moment"); - printf("\n What is life, anyway?"); - printf("Hello there,this id Anushree VInod"); - printf("My whole life was just great"); - printf("With a little sunshine, we can make it through"); +#include +#include + +void main() { + printf("WELCOME TO HACKTOBERFEST 2020!!!!!"); + printf("So let's get started!"); + printf("I guess everybody is a noobie here"); + printf("My whole life was a bruh moment"); + printf("\n What is life, anyway?"); + printf("Hello there,this id Anushree VInod"); + printf("My whole life was just great"); + printf("With a little sunshine, we can make it through"); } diff --git a/Factorial.c b/Factorial.c new file mode 100644 index 0000000..07b09ea --- /dev/null +++ b/Factorial.c @@ -0,0 +1,19 @@ +#include +int main() { + int n, i; + unsigned long long fact = 1; + printf("Enter an integer: "); + scanf("%d", &n); + + // shows error if the user enters a negative integer + if (n < 0) + printf("Error! Factorial of a negative number doesn't exist."); + else { + for (i = 1; i <= n; ++i) { + fact *= i; + } + printf("Factorial of %d = %llu", n, fact); + } + + return 0; +} diff --git a/Fibonacci.c b/Fibonacci.c new file mode 100644 index 0000000..a41e7e3 --- /dev/null +++ b/Fibonacci.c @@ -0,0 +1,28 @@ +#include +int main() { + + int i, n; + + // initialize first and second terms + int t1 = 0, t2 = 1; + + // initialize the next term (3rd term) + int nextTerm = t1 + t2; + + // get no. of terms from user + printf("Enter the number of terms: "); + scanf("%d", &n); + + // print the first two terms t1 and t2 + printf("Fibonacci Series: %d, %d, ", t1, t2); + + // print 3rd to nth terms + for (i = 3; i <= n; ++i) { + printf("%d, ", nextTerm); + t1 = t2; + t2 = nextTerm; + nextTerm = t1 + t2; + } + + return 0; +} diff --git a/Leapyear.c b/Leapyear.c new file mode 100644 index 0000000..5c9b310 --- /dev/null +++ b/Leapyear.c @@ -0,0 +1,27 @@ +#include +int main() { + int year; + printf("Enter a year: "); + scanf("%d", &year); + + // leap year if perfectly divisible by 400 + if (year % 400 == 0) { + printf("%d is a leap year.", year); + } + // not a leap year if divisible by 100 + // but not divisible by 400 + else if (year % 100 == 0) { + printf("%d is not a leap year.", year); + } + // leap year if not divisible by 100 + // but divisible by 4 + else if (year % 4 == 0) { + printf("%d is a leap year.", year); + } + // all other years are not leap years + else { + printf("%d is not a leap year.", year); + } + + return 0; +} diff --git a/Primenumber.c b/Primenumber.c new file mode 100644 index 0000000..9a38023 --- /dev/null +++ b/Primenumber.c @@ -0,0 +1,31 @@ +#include + +int main() { + + int n, i, flag = 0; + printf("Enter a positive integer: "); + scanf("%d", &n); + + // 0 and 1 are not prime numbers + // change flag to 1 for non-prime number + if (n == 0 || n == 1) + flag = 1; + + for (i = 2; i <= n / 2; ++i) { + + // if n is divisible by i, then n is not prime + // change flag to 1 for non-prime number + if (n % i == 0) { + flag = 1; + break; + } + } + + // flag is 0 for prime numbers + if (flag == 0) + printf("%d is a prime number.", n); + else + printf("%d is not a prime number.", n); + + return 0; +} diff --git a/SCAN Disk Scheduling.c b/SCAN Disk Scheduling.c index f64ff94..2923f80 100644 --- a/SCAN Disk Scheduling.c +++ b/SCAN Disk Scheduling.c @@ -1,7 +1,6 @@ #include #include - void main(){ int req_sq[10],i,j,n,head,seek_count=0,distance,rl[10],rg[10],irl=-1,irg=-1,temp; float avg; @@ -18,30 +17,30 @@ void main(){ for(i=0;irl[i]){ - temp=rl[i]; - rl[i]=rl[j]; - rl[j]=temp; - } - + if(rl[j]>rl[i]){ + temp=rl[i]; + rl[i]=rl[j]; + rl[j]=temp; + } + } } for(i=0;i +#include +#include +#include +#include +int main() +{ +FILE *fint,*ftab,*flen,*fsym,*fobj; +int op1[10],txtlen,txtlen1,i,j=0,len; +char add[5],symadd[5],op[5],start[10],temp[30],line[20],label[20],mne[10],operand[10],symtab[10],opmne[10]; +fint=fopen("intermediate.txt","r"); +flen=fopen("length.txt","r"); +ftab=fopen("optab.txt","r"); +fsym=fopen("symtab.txt","r"); +fobj=fopen("object_program.txt","w"); +fscanf(fint,"%s%s%s%s",add,label,mne,operand); +if(strcmp(mne,"START")==0) +{ +strcpy(start,operand); +fscanf(flen,"%x",&len); +} +printf("H^%s^%s^%x\nT^00%s^15^",label,start,len,start); +fprintf(fobj,"H^%s^%s^%x\nT^00%s^15^",label,start,len,start); +fscanf(fint,"%s%s%s%s",add,label,mne,operand); +while(strcmp(mne,"END")!=0) +{ +fscanf(ftab,"%s%s",opmne,op); +while(!feof(ftab)) +{ +if(strcmp(mne,opmne)==0) +{ +fclose(ftab); +fscanf(fsym,"%s%s",symadd,symtab); +while(!feof(fsym)) +{ +if(strcmp(operand,symtab)==0) +{ +printf("%s%s^",op,symadd); +fprintf(fobj,"%s%s^",op,symadd); +break; +} +else +fscanf(fsym,"%s%s",symadd,symtab); +} +break; +} +else +fscanf(ftab,"%s%s",opmne,op); +} +if((strcmp(mne,"BYTE")==0)||(strcmp(mne,"WORD")==0)) +{ +if(strcmp(mne,"WORD")==0) +{ + printf("00000%s^",operand); + fprintf(fobj,"00000%s^",operand); +} +else +{ +len=strlen(operand); +for(i=2;i +#include +#include +void main() +{ +FILE *f1,*f2,*f3,*f4, *f5, *f6; +int lc,sa,l,op1,o,len; +char m1[20],la[20],op[20],otp[20]; + +f1=fopen("input.txt","r"); +f3=fopen("symtab.txt","w"); +f5=fopen("intermediate.txt", "w"); +f6=fopen("program.txt", "w"); +fscanf(f1,"%s %s %x",la,m1,&op1); +if(strcmp(m1,"START")==0) +{ + sa=op1; + lc=sa; + printf("-\t%s\t%s\t%x\n",la,m1,op1); + fprintf(f5,"-\t%s\t%s\t%x\n",la,m1,op1); + } + else + lc=0; +fscanf(f1,"%s %s",la,m1); +while(!feof(f1)) +{ + fscanf(f1,"%s",op); + if(strcmp(m1,"END")!=0) + { + fprintf(f5,"\n%x\t%s\t%s\t%s\n",lc,la,m1,op); + printf("\n%x\t%s\t%s\t%s\n",lc,la,m1,op); + } + else + { + fprintf(f5,"\n-\t%s\t%s\t%s\n",la,m1,op); + printf("\n-\t%s\t%s\t%s\n",la,m1,op); + } + if(strcmp(la,"-")!=0) + { + fprintf(f3,"\n%x\t%s\n",lc,la); + } + f2=fopen("optab.txt","r"); + fscanf(f2,"%s %x",otp,&o); + while(!feof(f2)) + { + if(strcmp(m1,otp)==0) + { + lc=lc+3; + break; + } + fscanf(f2,"%s %x",otp,&o); + } + fclose(f2); + if(strcmp(m1,"WORD")==0) + + { + lc=lc+3; + } + else if(strcmp(m1,"RESW")==0) + { + op1=atoi(op); + lc=lc+(3*op1); + } + else if(strcmp(m1,"BYTE")==0) + { + if(op[0]=='X') + lc=lc+1; + else + { + len=strlen(op)-2; + lc=lc+len;} + } + else if(strcmp(m1,"RESB")==0) + { + op1=atoi(op); + lc=lc+op1; + } + fscanf(f1,"%s%s",la,m1); +} + if(strcmp(m1,"END")==0) + { + printf("Program length = %x",lc-sa); + fprintf(f6, "%x", lc-sa); + } + fclose(f1); + fclose(f3); + } diff --git a/branchless_compare_even_or_odd.c b/branchless_compare_even_or_odd.c index c260dbe..bbfc4be 100644 --- a/branchless_compare_even_or_odd.c +++ b/branchless_compare_even_or_odd.c @@ -1,8 +1,9 @@ #include -int main() -{ + +int main() { int i; - for(i = 0; i<10000; i++) + + for (i = 0; i<10000; i++) /* print even or odd with branchless comparison */ - (i%2==0)?printf("%d is %s\n",i,"Even"):printf("%d is %s\n",i,"Odd"); + (i%2==0) ? printf("%d is %s\n", i, "Even") : printf("%d is %s\n", i, "Odd"); } diff --git a/cscan1.c b/cscan1.c new file mode 100644 index 0000000..88d1fd5 --- /dev/null +++ b/cscan1.c @@ -0,0 +1,83 @@ +#include +void main() +{ + int trackpos[25],n,head,i,j,sum=0,maxrange,diff,temp,a[20],b[20],temp1=0,temp2=0; + float avg; + printf("Enter the maximum range of Disk : "); + scanf("%d",&maxrange); + printf("Enter the number of tracks : "); + scanf("%d",&n); + printf("Enter the initial position of header : "); + scanf("%d",&head); + printf("Enter the position of tracks : "); + for(i=0;ihead) + { + a[temp1]=temp; + temp1++; + } + else + { + b[temp2]=temp; + temp2++; + } + } + for(i=0;ia[j]) + { + temp=a[i]; + a[i]=a[j]; + a[j]=temp; + } + } + } + for(i=0;ib[j]) + { + temp=b[i]; + b[i]=b[j]; + b[j]=temp; + } + } + } + for(i=1,j=0;jtrackpos[i]) + { + diff=trackpos[i+1]-trackpos[i]; + sum=sum+diff; + printf("\n%d\t\t%d",trackpos[i+1],diff); + } + else + { + diff=trackpos[i]-trackpos[i+1]; + sum=sum+diff; + printf("\n%d\t\t%d",trackpos[i+1],diff); + } + } + avg=sum/(float)n; + printf("\nTotal movements of header : %d\n", sum); + printf("Average header movements : %f\n", avg); +} diff --git a/dvr.c b/dvr.c index 048a62f..aef0888 100644 --- a/dvr.c +++ b/dvr.c @@ -1,38 +1,40 @@ -#include +#include -struct node{ +struct node { unsigned dist[20]; unsigned from[20]; -}rt[10]; +} rt[10]; int main(){ int dmat[20][20]; int n,i,j,k,count=0; + printf("\nEnter the number of nodes: "); scanf("%d",&n); printf("Enter the cost matrix: \n"); - for(i=0;idmat[i][k]+rt[k].dist[j]){ - rt[i].dist[j] = rt[i].dist[k]+rt[k].dist[j]; + for(i=0; i dmat[i][k] + rt[k].dist[j]){ + rt[i].dist[j] = rt[i].dist[k] + rt[k].dist[j]; rt[i].from[j] = k; count++; } - }while(count!=0); - for(i=0;i + +void main() { + int i, j, n, head; + float avg, sum; + sum = 0; + int trackpos[20], stime[20]; + + printf("Enter number of tracks : "); + scanf("%d", &n); + printf("Enter position of header : "); + scanf("%d", &head); + printf("Enter position of tracks : "); + + for(i=0; i -int main(){ - int n,i,m=0,flag=0; - printf("Enter the number to check prime:"); - scanf("%d",&n); - m=n/2; - for(i=2;i<=m;i++){ - if(n%i==0){ - printf("Number is not prime"); - flag=1; - break; - } - } - if(flag==0) - printf("Number is prime"); - return 0; -} +#include + +int main(){ + int n, i, m = 0, flag=0; + printf("Enter the number to check prime:"); + scanf("%d",&n); + + m = n/2; + for(i=2; i<=m; i++){ + if(n%i == 0){ + printf("Number is not prime"); + flag = 1; + break; + } + } + if(flag == 0) + printf("Number is prime"); + + return 0; +} diff --git a/fifo1.c b/fifo1.c new file mode 100644 index 0000000..e74f169 --- /dev/null +++ b/fifo1.c @@ -0,0 +1,55 @@ +#include + +void main() { + int i, j, pn, page[50], frame[10], fn, k, avail; + float pfault = 0, phit = 0, faultratio = 0, hitratio = 0; + printf("\nFIFO PAGE REPLACEMENT ALGORITHM\n"); + printf("\n Enter the number of pages : "); + scanf("%d", & pn); + printf("\n Enter the page number : "); + for (i = 0; i < pn; i++) { + scanf("%d", & page[i]); + } + printf("\n Enter the number of frames : "); + scanf("%d", & fn); + for (i = 0; i < fn; i++) { + frame[i] = -1; + } + j = 0; + printf("\n\tReference string\t Page Frames\t\tHit or Fault\n"); + for (i = 0; i < pn; i++) { + printf("\t\t%d\t\t", page[i]); + avail = 0; + + for (k = 0; k < fn; k++) { + if (frame[k] == page[i]) { + phit++; + avail = 1; + for (k = 0; k < fn; k++) { + printf("%d\t", frame[k]); + } + if (avail == 1) { + printf(" H"); + } + } + } + if (avail == 0) { + frame[j] = page[i]; + j = (j + 1) % fn; + pfault++; + for (k = 0; k < fn; k++) { + printf("%d\t", frame[k]); + } + if (avail == 0) { + printf(" F"); + } + } + printf("\n"); + } + hitratio = phit / pn; + faultratio = pfault / pn; + printf("Page hit is %f\n", phit); + printf("Page Fault Is %f\n", pfault); + printf("Page hit ratio is %f\n ", hitratio); + printf("Page fault ratio is %f \n", faultratio); +} diff --git a/insert.c b/insert.c new file mode 100644 index 0000000..3c2de07 --- /dev/null +++ b/insert.c @@ -0,0 +1,35 @@ +#include +int main(){ + + /* Here i & j for loop counters, temp for swapping, + * count for total number of elements, number[] to + * store the input numbers in array. You can increase + * or decrease the size of number array as per requirement + */ + int i, j, count, temp, number[25]; + + printf("How many numbers u are going to enter?: "); + scanf("%d",&count); + + printf("Enter %d elements: ", count); + // This loop would store the input numbers in array + for(i=0; i= 0)){ + number[j+1] = number[j]; + j = j-1; + } + number[j+1] = temp; + } + + printf("Order of Sorted elements: "); + for(i=0; i +#include + +int main(){ + int RQ[100], i, j, n, TotalHeadMoment = 0, initial, size, move; + printf("Enter the number of Requests\n"); + scanf("%d", &n); + printf("Enter the Requests sequence\n"); + for (i = 0; i < n; i++) + scanf("%d", &RQ[i]); + printf("Enter initial head position\n"); + scanf("%d", &initial); + printf("Enter total disk size\n"); + scanf("%d", &size); + printf("Enter the head movement direction for high 1 and for low 0\n"); + scanf("%d", &move); + for (i = 0; i < n; i++){ + for (j = 0; j < n - i - 1; j++){ + if (RQ[j] > RQ[j + 1]){ + int temp; + temp = RQ[j]; + RQ[j] = RQ[j + 1]; + RQ[j + 1] = temp; + } + } + } + int index; + for (i = 0; i < n; i++){ + if (initial < RQ[i]){ + index = i; + break; + } + } + if (move == 1){ + for (i = index; i < n; i++){ + TotalHeadMoment = TotalHeadMoment + abs(RQ[i] - initial); + initial = RQ[i]; + } + for (i = index - 1; i >= 0; i--){ + TotalHeadMoment = TotalHeadMoment + abs(RQ[i] - initial); + initial = RQ[i]; + } + } + else { + for (i = index - 1; i >= 0; i--){ + TotalHeadMoment = TotalHeadMoment + abs(RQ[i] - initial); + initial = RQ[i]; + } + for (i = index; i < n; i++){ + TotalHeadMoment = TotalHeadMoment + abs(RQ[i] - initial); + initial = RQ[i]; + } + } + printf("Total head movement is %d \n", TotalHeadMoment); + return 0; +} diff --git a/quick_sort.c b/quick_sort.c index 96f5ec4..733c7d0 100644 --- a/quick_sort.c +++ b/quick_sort.c @@ -21,6 +21,7 @@ int main(){ return EXIT_SUCCESS; } + int partition(TYPE A[], int p, int r) { TYPE x = A[r]; //pivot int i = p - 1, j; @@ -34,6 +35,7 @@ int partition(TYPE A[], int p, int r) { swap(TYPE, A[i], A[r]); return i; } + void quick_sort(TYPE A[], int p, int r) { if(p < r) { int t = (rand() % ( r - p + 1) + p); @@ -45,6 +47,7 @@ void quick_sort(TYPE A[], int p, int r) { quick_sort(A, q + 1, r); } } + void print_array(TYPE A[], int n) { int i = 0; putchar('['); @@ -53,4 +56,4 @@ void print_array(TYPE A[], int n) { printf("%d", A[i++]); } puts("]"); -} \ No newline at end of file +} diff --git a/scan.c b/scan.c new file mode 100644 index 0000000..718781c --- /dev/null +++ b/scan.c @@ -0,0 +1,83 @@ +#include +void main() +{ +int trackpos[25],n,head,i,j,sum=0, +maxrange,diff,temp,a[20],b[20],temp1=0,temp2=0; +float avg; +printf("Enter the maximum range of Disk: "); +scanf("%d",&maxrange); +printf("Enter the number of tracks : "); +scanf("%d",&n); +printf("Enter the initial position of header : "); +scanf("%d",&head); +printf("Enter the position of tracks : "); +for(i=0;ihead) +{ +a[temp1]=temp; +temp1++; +} +else +{ +b[temp2]=temp; +temp2++; +} +} +for(i=0;ia[j]) +{ +temp=a[i]; +a[i]=a[j]; +a[j]=temp; +} +} +} +for(i=0;itrackpos[i]) +{ +diff = trackpos[i+1]-trackpos[i]; +sum = sum + diff; +printf("%d\t\t%d\n",trackpos[i+1], diff); +} +else +{ +diff=trackpos[i]-trackpos[i+1]; +sum=sum+diff; +printf("%d\t\t%d\n",trackpos[i+1],diff); +} +} +avg = sum/(float)n; +printf("Total movement of head : %d\n", sum); +printf("Average head movement : %f\n", avg); +} diff --git a/search.c b/search.c index df676d7..b60d63c 100644 --- a/search.c +++ b/search.c @@ -1,6 +1,6 @@ #include -int binarySearch(int ar[], int l, int r, int x) -{ + +int binarySearch(int ar[], int l, int r, int x) { if (r >= l) { int mid = l + (r - l) / 2; if (ar[mid] == x) @@ -12,8 +12,7 @@ int binarySearch(int ar[], int l, int r, int x) return -1; } -int main(void) -{ +int main(void) { int ar[] = { 2, 3, 4, 10, 40 }; int n = sizeof(ar) / sizeof(ar[0]); int x = 10; diff --git a/select.c b/select.c new file mode 100644 index 0000000..4a56e77 --- /dev/null +++ b/select.c @@ -0,0 +1,34 @@ +#include + +int main() { + int array[100], n, c, d, position, t; + + 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]); + + for (c = 0; c < (n - 1); c++) { + position = c; + + for (d = c + 1; d < n; d++) { + if (array[position] > array[d]) + position = d; + } + if (position != c) { + t = array[c]; + array[c] = array[position]; + array[position] = t; + } + } + + printf("Sorted list in ascending order:\n"); + + for (c = 0; c < n; c++) + printf("%d\n", array[c]); + + return 0; +} diff --git a/sjf.c b/sjf.c index e01e064..00f0aea 100644 --- a/sjf.c +++ b/sjf.c @@ -90,8 +90,7 @@ void resulttime(int process[],int n,int process_burst[],int process_arrival[]) /* Driver Code */ -void main() -{ +void main() { int n; printf("\nEnter number of processes:"); scanf("%d",&n); diff --git a/sstf.c b/sstf.c new file mode 100644 index 0000000..b29167e --- /dev/null +++ b/sstf.c @@ -0,0 +1,35 @@ +#include +#include +int main() +{ + int r[100],i,n,TotalHeadMoment=0,initial,count=0; + printf("Enter the number of Requests\n"); + scanf("%d",&n); + printf("Enter the Requests sequence\n"); + for(i=0;id) + { + min=d; + index=i; + } + + } + TotalHeadMoment=TotalHeadMoment+min; + initial=r[index]; + r[index]=1000; + count++; + } + + printf("Total head movement is %d",TotalHeadMoment); + return 0; +} diff --git a/validParenthesis.py b/validParenthesis.py new file mode 100644 index 0000000..0842a18 --- /dev/null +++ b/validParenthesis.py @@ -0,0 +1,15 @@ +class Solution: + def isValid(self, s: str) -> bool: + Map = {")": "(", "]": "[", "}": "{"} + stack = [] + + for c in s: + if c not in Map: + stack.append(c) + continue + if not stack or stack[-1] != Map[c]: + return False + stack.pop() + + return not stack +