Используя сортировку массива, определить номер последнего чётного элемента массива - C#
Формулировка задачи:
int i,k=0,n=9;
int[] mas = new int [n];
for ( i =mas.Length-1; i > 0; i--)
{
if (mas[i] % 2 == 0)
{
k = Array.IndexOf(mas, i);
break;
}
}
Console.WriteLine("{0}",k);Решение задачи: «Используя сортировку массива, определить номер последнего чётного элемента массива»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
int[] arr = { 2, 0, 4, -2, 18,-4, 76, 3, 1,12,11,-3 };
if (arr.Count(Foo) == 0)
{
Console.WriteLine("нет четных");
Console.ReadKey();
return;
}
int last = 0;
for (int i = 0; i < arr.Length; i++)
{
for (int j = i + 1; j < arr.Length; j++)
{
if (arr[i] < arr[j])
{
var tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
last = arr[j] % 2 == 0 ? arr[j] : arr[i];
}
}
}
Console.WriteLine(string.Join(" ", arr));
Console.WriteLine(last);
}
private static bool Foo(int i)
{
return i % 2 == 0;
}
}
}