Постановка задачи
Дано. Одномерные массивы. А и В, каждый из которых содержит не более 20 элементов целого типа.
Требуется. Разработать программу, которая должна выполнять следующие функции:
1. Вводить с клавиатуры исходные данные(или формировать исходные массивы А и В случайными числами). Размерность массивов А и В 10 – 20 элементов
2. Формировать одномерный массив С, содержащий те элементы исходных массивов А и В, которые указаны в задании. Элементы в массиве С не должны повторяться.
3. Выводить следующую информацию:
число элементов в массиве A;
значения элементов массива A;
число элементов в массиве B;
значения элементов массива B;
результаты работы программы.
Каждая функция программы должны быть оформлена как процедура с параметрами.
Примечание. Дополнительный массив не использовать.
Алгоритм и текстовые примеры
Основной функцией задачи является create_array_C которой в качестве параметра передаются 2 массива. Функция проверяет элементы массива А на четность (при помощи ф-ии fmod, которая возвращает остаток от деления на число). Следующее условие – проверка на совпадение элементов массива А и В. Если оба условия выполняются начинается цикл и условие проверки повторений элементов массива С. Если элементы совпадают происходит прерывание цикла (точнее двух циклов, $k и $i т.к. оператор break имеет параметр 2, который указывает на количество вложенных циклов которые нужно прервать.
function create_array_C ($array_A, $array_B)
{
$n=0;
for ($i=0; $i<=19; $i++)
{
for ($j=0; $j<=19; $j++)
{
if (fmod ($array_A[$i],2) == 0 && $array_A[$i]==$array_B[$j]) // проверяем на четность и находим смежные елементы
{
for($k=0;$k<=$n;$k++)
{
if($array_A[$i]==$array_C[$k]) // проверяем совпадение елементов массива
break(2); // в Delphi и С++ такого нет (в C# есть). Параметр 2 означает количество вложенных циклов
}
$array_C[$n]=$array_A[$i]; // Заносим элементы в массив С
echo "$array_C[$n]";
$n++;
break;
}
}
}
}
No user прокомментировали сообщение
Оставить комментарий