Записать в файл g наибольшее значение первых пяти компонент файла f (перевести с Паскаля) - C#
Формулировка задачи:
Переведите пожалуйста следующий код в C#
Условие программы:
Дан файл f, компоненты которого являются целыми числами. Записать в файл g наибольшее значение первых пяти компонент файла f, затем - следующих пяти компонент и т.д. Если в последней группе окажется менее пяти компонент, то последняя компонента файла g должна быть равна наибольшей из компонент файла f, образующих последнюю (неполную) группу
uses crt; var f,g:file of integer; a,i,j,n,mx:integer; begin clrscr; randomize; assign(f,'fileF'); rewrite(f); assign(g,'fileG'); rewrite(g); for i:=1 to 430 do begin a:=random(1000); write(f,a); end; writeln('Содержание исходного файла:'); reset(f); for i:=0 to filesize(f)-1 do begin read(f,a); write(a:4); end; close(f); writeln; write('Нажмите Enter'); readln; clrscr; reset(f); n:=filesize(f) div 100;{количество полных сотен} for i:=0 to n-1 do begin j:=100*i; seek(f,j); read(f,mx); while(j<100*i+99)and(j<filesize(f)-1)do{выбираем макс. из каждой сотни} begin j:=j+1; seek(f,j); read(f,a); if a>mx then mx:=a; end; write(g,mx); end; if filesize(f)>100*n then{последние} begin seek(f,100*n); read(f,mx); for i:=100*n to filesize(f)-1 do begin seek(f,i); read(f,a); if a>mx then mx:=a; end; write(g,mx); end; reset(g); writeln('Содержание файла максимумов:'); reset(g); for i:=0 to filesize(g)-1 do begin read(g,a); write(a:4); end; close(g); readln end.
Решение задачи: «Записать в файл g наибольшее значение первых пяти компонент файла f (перевести с Паскаля)»
textual
Листинг программы
using System; using System.IO; using System.Text; namespace ShaitanF { using c = Console; class Program { const int COUNT_FILTER_ELEMENT = 5; public static void Main(string[] args) { StreamWriter FileF = new StreamWriter("FileF"); StreamWriter FileG = new StreamWriter("FileG"); Random rnd = new Random(); StringBuilder OutputBuilder = new StringBuilder(); for (int i = 0; i < 10000; i++) { OutputBuilder.Append(rnd.Next(-1000, 1000)); OutputBuilder.Append(' '); } FileF.Write(OutputBuilder.ToString()); c.WriteLine(OutputBuilder.ToString() + "\n"); FileF.Close(); OutputBuilder.Clear(); if (!File.Exists("FileF")) {c.WriteLine("Ошибка..."); return;} StreamReader FileFReader = new StreamReader("FileF"); string[] SplitFileF = FileFReader.ReadToEnd().Split(new char[1]{' '}); for (int i = 0; i < SplitFileF.Length-1; i+=COUNT_FILTER_ELEMENT) { int max = int.MinValue; for (int t = i; t < i+COUNT_FILTER_ELEMENT; t++) { if (t>i)break; int tmp = int.Parse(SplitFileF[t]); if (max < tmp) max = tmp; } OutputBuilder.Append(max); OutputBuilder.Append(' '); } FileG.Write(OutputBuilder.ToString()); c.WriteLine(OutputBuilder.ToString()); FileFReader.Close(); FileG.Close(); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д