Найти большую общую подстроку в 2 массивах - C (СИ)
Формулировка задачи:
Написать программу на языке С, которая ищет длиннейшее вхождение в 2-х массивах, массивы могут быть разной длинны
ПРИМЕР:
MAS1: 3 9 -2 1 0 4
MAS2: 5 8 -2 1 0 5
ОТВЕТ: -2 1 0
Решение задачи: «Найти большую общую подстроку в 2 массивах»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main() { char A[] = "df45rt763lioasd45tcvxtyujhgf"; char B[] = "45rhgjlioasd45trew9835263"; int i = 0, j, m, n, x = 0, max = 0, index = 0; for(i = 0; i < strlen(A); ++i){ for(j = 0; j < strlen(B); ++j) if(B[j] == A[i]){ m = j; n = i; x = 0; while(B[m] == A[n]){ ++x; if(x > max){ max = x; index = m; } ++m; ++n; } } } for(j = index - max + 1; j <= index; ++j) printf("%c", B[j]); return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д