﻿ C - Length of longest common subsequence of two strings

# C Programming: Length of longest common subsequence of two strings

## C String: Exercise-41 with Solution

Write a C program to calculate the length of the longest common subsequence of two given strings. The strings consist of alphabetical characters..

Sample Data:

("abcdkiou", "cabsdf") -> 3

Sample Solution:

C Code:

``````#include <stdio.h>
#include <string.h>

#define max(x,y)((x)>(y)?(x):(y))
int result;
char str1, str2;
int main(){
printf("Input the first string: ");
scanf("%s",str1);
printf("\nInput the second string: ");
scanf("%s",str2);
int n=strlen(str1);
int m=strlen(str2);
for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)
{
if(str1[i-1]==str2[j-1])
result[i][j]=result[i-1][j-1]+1;
else
result[i][j]=max(result[i-1][j],result[i][j-1]);
}
printf("\nLength of longest common subsequence of said strings: %d\n",result[n][m]);
}
```
```

Sample Output:

```Input the first string:
Input the second string:
Length of longest common subsequence of said strings: 3
```

Flowchart : C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

Previous C Programming Exercise: Replace every lowercase letter with the same uppercase.
Next C Programming Exercise: C Date Time Exercises Home

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿

## C Programming: Tips of the Day

Where in memory variables stored in C:

You got some of these right, but whoever wrote the questions tricked you on at least one question:

• global variables -------> data (correct)
• static variables -------> data (correct)
• constant data types -----> code and/or data. Consider string literals for a situation when a constant itself would be stored in the data segment, and references to it would be embedded in the code
• local variables(declared and defined in functions) --------> stack (correct)
• variables declared and defined in main function -----> heap also stack (the teacher was trying to trick you)
• pointers(ex: char *arr, int *arr) -------> heap data or stack, depending on the context. C lets you declare a global or a static pointer, in which case the pointer itself would end up in the data segment.
• dynamically allocated space(using malloc, calloc, realloc) --------> stack heap

It is worth mentioning that "stack" is officially called "automatic storage class".

Ref : https://bit.ly/3jNvuZh

We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook