Поскольку протестировать программу без файла нельзя, вот код, создающий нужный файл.
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017 // Внимание! Если программа не работает, обновите версию!
type fint=file of integer;
begin var f:fint; Assign(f,'integers.bin'); Rewrite(f); SeqRandom(20,-50,50).foreach(t->Write(f,t)); f.Close end.
А теперь, собственно, решение задачи
type fint=file of integer;
begin var f:fint; Assign(f,'integers.bin'); Reset(f); var k:=0; var b:integer; while not Eof(f) do begin Read(f,b); if b.IsEven then k+=1 end; f.Close; Writeln('Кол-во четных компонент файла равно ',k) end.
И последнее - программа распечатки значений компонент файла. Для контроля.
type fint=file of integer;
begin var f:fint; Assign(f,'integers.bin'); Reset(f); var b:integer; while not Eof(f) do begin Read(f,b); Print(b) end; Writeln; f.Close end.
Using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO;
namespace СиШарп { class Program { static void Main(string[] args) { int[] A = File.ReadAllText("D:\\f.txt").Split().Select(x=>int.Parse(x)).ToArray(); // for(int i = 0; i < A.Length; i++) // Console.Write("{0} ",A[i]); using (StreamWriter g = File.CreateText("D:\\g.txt")) { Console.WriteLine("\n{0}", "Введите номер задания (0 - а, 1 - б)"); int C = int.Parse(Console.ReadLine()); C = 5 + C * 5; int i = 0; while (i < A.Length) { for (int j = i; j < i + C; j++) g.Write("{0} ",A[j]); i += C*2; for (int j = i; j < i + C; j++) g.Write("{0} ", A[j]); i -= C; for (int j = i; j < i + C; j++) g.Write("{0} ", A[j]); i += C*2; for (int j = i; j < i + C; j++) g.Write("{0} ", A[j]); i += C; } } Console.ReadKey(); } } }
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!
type
fint=file of integer;
begin
var f:fint;
Assign(f,'integers.bin'); Rewrite(f);
SeqRandom(20,-50,50).foreach(t->Write(f,t));
f.Close
end.
А теперь, собственно, решение задачи
type
fint=file of integer;
begin
var f:fint;
Assign(f,'integers.bin'); Reset(f);
var k:=0;
var b:integer;
while not Eof(f) do begin
Read(f,b);
if b.IsEven then k+=1
end;
f.Close;
Writeln('Кол-во четных компонент файла равно ',k)
end.
И последнее - программа распечатки значений компонент файла. Для контроля.
type
fint=file of integer;
begin
var f:fint;
Assign(f,'integers.bin'); Reset(f);
var b:integer;
while not Eof(f) do begin Read(f,b); Print(b) end;
Writeln;
f.Close
end.
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace СиШарп
{
class Program
{
static void Main(string[] args)
{
int[] A = File.ReadAllText("D:\\f.txt").Split().Select(x=>int.Parse(x)).ToArray();
// for(int i = 0; i < A.Length; i++)
// Console.Write("{0} ",A[i]);
using (StreamWriter g = File.CreateText("D:\\g.txt"))
{
Console.WriteLine("\n{0}", "Введите номер задания (0 - а, 1 - б)");
int C = int.Parse(Console.ReadLine());
C = 5 + C * 5;
int i = 0;
while (i < A.Length)
{
for (int j = i; j < i + C; j++)
g.Write("{0} ",A[j]);
i += C*2;
for (int j = i; j < i + C; j++)
g.Write("{0} ", A[j]);
i -= C;
for (int j = i; j < i + C; j++)
g.Write("{0} ", A[j]);
i += C*2;
for (int j = i; j < i + C; j++)
g.Write("{0} ", A[j]);
i += C;
}
}
Console.ReadKey();
}
}
}