Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # include <stdio.h>
- # include <string.h>
- int min2(int a, int b)
- {
- int c = (a <= b ? a: b);
- return c;
- }
- int min3(int a, int b, int d)
- {
- int k = min2(a, b);
- int c = (a < k ? a : k);
- return c;
- }
- void rec(char* A, char* B, int* table, int i, int j, int n, int m)
- {
- table[i][j] = (A[i] == B[j] ? min3(table[i - 1][j], table[i][j - 1], table[i - 1][j - 1]) : min2(table[i - 1][j], table[i][j - 1]));
- j++;
- if (j == m)
- {
- i++;
- j == 1;
- }
- if (i == n)
- {
- }
- else
- {
- rec(A, B, table, i, j, n, m);
- }
- }
- void main() //aho's algoritm
- {
- char a = '1', A = '2', B, b;
- int i = 0;
- /*
- while (a != '\n' && a!=' ')
- {
- scanf_s("%c", &a);
- //сшивание строчек А и а: в А записываем а
- }*/
- const int n = 3;
- const int m = 4;
- int table[n][m] = {0};
- for (i = 0; i < m; i++)
- {
- table[0][i] = i + 1;
- }
- for (i = 1; i < n; i++)
- {
- table[i][0] = i + 1;
- }
- rec(&A, &B, &table[0][0], 1, 1, n, m);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement