Увеличить все четные числа, содержащиеся в массиве, на исходное значение первого четного числа.C#
Дан целочисленный массив размера n. Увеличить все четные числа, содержащиеся в массиве, на исходное значение первого четного числа. Если четные числа в массиве отсутствуют, то оставить массив без изменений. Я пробовал написать код но у меня выводит все не так как надо. Буду благодарен за любой ответ ! Вот что я сделал:
int n = Convert.ToInt32(Console.ReadLine());
int[] arr = new int[n];
int x = 0;
Random rnd = new Random();
for(int i = 0;i<n;i++)
{
arr[i] = rnd.Next(1, 50);
}
for (int i = 0; i < n; i++)
{
if (arr[i] % 2 == 0)
{
arr[i] = x;
Console.WriteLine($"{x}");
}
else
{
Console.Write(arr[i]);
}
}
for (int i = 0; i < n; i++)
{
if(arr[i] % 2 == 0)
{
arr[i] = arr[i] + x;
Console.WriteLine(arr[i]);
}
}
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Из вопроса не ясно, нужно ли первое чётное удваивать. Если да, то else просто убрать
bool first = true;
int evenadd = 0;
for (int i = 0; i < n; i++)
{
if(arr[i] % 2 == 0)
{
if (first) {
evenadd = farr[i];
first = false;
}
else
farr[i] += evenadd;
}
}