Найти максимум среди компонент, расположенных на четных позициях файла - C#
Формулировка задачи:
Здравствуйте, помогите пожалуйста с задачей в С#. Так как я в этом совсем не разбираюсь, а нужно очень срочно(((
Задан числовой файл F. Найти максимум среди компонент, расположенных на четных позициях
файла и минимум среди компонент на нечѐтных позициях. Все нулевые компоненты заменить
значением максимума, а значение минимума дописать в конце файла пять раз.
Решение задачи: «Найти максимум среди компонент, расположенных на четных позициях файла»
textual
Листинг программы
static void Main(string[] args) { int count = 10; // заполняем файл рандомными числами using (var bw = new BinaryWriter(File.OpenWrite("F.dat"))) { var rand = new Random(); for (int i = 0; i < count; i++) { bw.Write(rand.Next(0, 10)); } } var arr = new int[count]; // считываем файл в числовой массив using (var br = new BinaryReader(File.OpenRead("F.dat"))) { for (int i = 0; i < count; i++) { arr[i] = br.ReadInt32(); } } Console.Write("Исходный файл: "); foreach (var item in arr) { Console.Write(item + " "); } Console.WriteLine(); int max = arr[0], min = arr[0]; // определяем максимум и минимум for (int i = 0; i < arr.Length; i++) { if (i % 2 == 0) { if (min > arr[i]) min = arr[i]; } else { if (max < arr[i]) max = arr[i]; } } //нулевые на максимум меняем for (int i = 0; i < arr.Length; i++) { if (arr[i] == 0) arr[i] = max; } //записываем новый данные в файл using (var bw = new BinaryWriter(File.OpenWrite("F.dat"))) { var rand = new Random(); for (int i = 0; i < arr.Length; i++) { bw.Write(arr[i]); } // дописываем 5 раз минимум for (int i = 0; i < 5; i++) { bw.Write(min); } } //считываем новый файл Console.Write("Отредактированный файл: "); using (var br = new BinaryReader(File.OpenRead("F.dat"))) { for (int i = 0; i < count+5; i++) { Console.Write(br.ReadInt32() + " "); } } Console.ReadLine(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д