Работа с массивами: постpоение пеpесечения заданных последовательностей - C (СИ)
Формулировка задачи:
Помогите написать код. Дано натуpальное n (n<=100),целые числа a1,...,1n и b1,...,bn. Постpоить пеpесечение последовательностей a1,..,an и b1,..,bn,
т.е.получить последовательность c1,...,ck,содеpжащую все числа, входящие в a1,...,an и b1,...,bn.
Решение задачи: «Работа с массивами: постpоение пеpесечения заданных последовательностей»
textual
Листинг программы
k = 0;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
if (a[i]==b[j]) {
c[k++] = a[i];
break;
}
Объяснение кода листинга программы
В данном коде выполняется построение пересечения двух заданных последовательностей.
- В первой строке объявляется переменная
kсо значением 0, которая будет использоваться для подсчета количества элементов пересечения. - В следующей строке начинается два вложенных цикла. Первый цикл выполняется
nраз, гдеn- это количество элементов в первом массивеa. Второй цикл также выполняетсяnраз, гдеn- это количество элементов во втором массивеb. - В условиях циклов проверяется, равны ли текущие элементы массивов
aиb. Если это так, то выполняется следующее действие. - Взятый элемент из массива
aкопируется в массивcи к переменнойkприбавляется единица, чтобы увеличить счетчик. - С помощью оператора
breakвыход осуществляется из внутреннего цикла. - После завершения циклов, в массиве
cбудет содержаться пересечение двух заданных последовательностей.