All pastes #825929 Raw Edit

Something

public text v1 · immutable
#825929 ·published 2007-12-20 22:10 UTC
rendered paste body
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int max(int a, int b)
{
	if (a > b)
		return(a);
	else
		return(b);
}

/*int backtrack(int table[][l2 + 1], int argv[1][l1], int argv[2][l2], )
{
	
}
*/

int main(int argc, char * argv[])
{
	if (argc != 3)
			exit(EXIT_FAILURE);
	
	int i, j, l1, l2;

	l1 = strlen(argv[1]);
	l2 = strlen(argv[2]);
	int table[l1 + 1][l2 + 1];

	for (i = 0; i <= l1; i++) {
		table[i][0] = 0;
	}

	for (j = 0; j <= l2; j++) {
		table[0][j] = 0;
	}

	for (i = 0; i < l1; i++) {
		for (j = 0; j < l2; j++) {
			if (argv[1][i] == argv[2][j]) {
				table[i+1][j+1] = table[i][j] + 1;
			} else {
				table[i+1][j+1] = max(table[i][j+1],table[i+1][j]);
			}
		}
	} //to gemisma tou pinaka
	
/*	i = l1 + 1;
	j = l2 + 1;
	while (i > 0 && j > 0)
	{
		if (argv[1][i] == argv[2][j]) {
			printf("%c ", argv[1][i]);
			i--; j--;
		} else if (table)
	}
*/
	printf("    %c ", argv[2][0]);
	for (i=1; i <= l2; i++)
		printf("%c ", argv[2][i]);
	printf("\n");

	printf("  %d ", table[0][0]);
	for (j=1; j<=l2; j++) {
		printf("%d ", table[0][j]);
	}
	printf("\n");
	for (i=1; i<=l1; i++) {
		printf("%c ", argv[1][i-1]);
		for (j=0; j<=l2; j++) {
			printf("%d ", table[i][j]);
		}
		printf("\n");
	}
	printf("\n");

	printf("Longest Common Subsequence: %d\n", table[l1][l2]);

	return(0);
}