Из одного массива переписать в другой массив подряд первые пять различных четных элементов - C (СИ)
Формулировка задачи:
Выбрать алгоритм и программу для решения выбранного варианта задания. Исходный массив может быть введен с клавиатуры или инициализирован при описании. Исходные и результирующие массивы вывести на экран в виде:
Задание:
Задан целочисленный массив Х из 20 элементов, содержащий как четные, так и нечетные числа. Из этого массива переписать в массив Y подряд первые пять различных четных элементов. Если таких элементов менее пяти, заполнить оставшиеся позиции в массиве суммой нечетных элементов массива X.
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19
Решение задачи: «Из одного массива переписать в другой массив подряд первые пять различных четных элементов»
textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
int main()
{
system("chcp 1251>nul");
int X[20]={0},Y[5]={0},i,c,k=0;
printf("Заполните массив:\n");
for(i=0;i<20;i++)
{
printf("X[%d]=",i);
scanf("%d",&X[i]);
}
for(i=0,c=0;(c<5) && (i<20);i++)
{
if(X[i]%2==0) {Y[ c ]=X[i];c++;k+=X[i];}
printf("%d\n",c);
}
printf("%d\n",k);
for(;c<5;c++)
{
Y[ c ]=k;
}
for (i=0;i<20;i++)
{
printf("X[%d]=%d\n",i,X[i]);
}
for(c=0;c<5;c++)
{
printf("Y[%d]=%d\n",c,Y[ c ]);
}
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с массивами и вводом/выводом данных.
- Создание двух массивов: X и Y, в который будут копироваться первые пять различных четных элементов из массива X.
- Заполнение массива X с помощью цикла и функции scanf.
- Два вложенных цикла для поиска первых пяти четных элементов в массиве X:
- Внешний цикл для прохода по всем элементам массива X.
- Внутренний цикл для проверки текущего элемента массива X на четность.
- Если элемент четный, то он копируется в массив Y и счетчик четных элементов увеличивается.
- Значение счетчика выводится на экран после каждой итерации внутреннего цикла.
- Если после прохода по всем элементам массива X в массиве Y остались незаполненные ячейки, то в них записывается значение k (сумма всех четных элементов).
- Вывод на экран всех элементов массива X.
- Вывод на экран всех элементов массива Y.