How to write a C Program to Specifies a larger array ( in case one larger than the other ) in C Programming Language ?
Solution:
#include "stdafx.h" #include "stdio.h" #include "conio.h" #include "stdlib.h" #include "cmath" #include "locale.h" #include "time.h" #define size_of_arr 30 void main() { setlocale(LC_ALL, "RUS"); int a[size_of_arr]; int b[size_of_arr]; int c[size_of_arr]; int maxcounter = 0; int n,m; int i; int j; int strnum; int count = 0; printf("введи кол-во n элементов массива а\n"); scanf("%d", &n); printf("введи кол-во элементов массива b\n"); scanf("%d", &m); //Ввод массива а printf("введи элементы массива a\n"); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } //Ввод массива b printf("введи элементы массива b\n"); for (i = 0; i < m; i++) { scanf("%d", &b[i]); } //Уточняем, какой массив больше (на случай, если один больше другого) if (m < n) { n = m; } //main cycle for (i = 0; i < n; i++) { if (maxcounter < count) { maxcounter = count; strnum = i - 1; } for (j = 0; j < n; j++) { if (a[i] == b[j]) { count = count++; } } } //Вывод результатов if (maxcounter>0) { printf("Самая длинная совпадающая последовательность\n"); for (i = strnum; i < strnum+maxcounter; i++) { printf("%d ", c[i]); } } else { printf("Совпадающих элементов нет"); } getch(); }