Екатерина Кошель
Екатерина Кошель

Паскаль (программирование)

найти в файле количество чисел, корень с которых есть нечетные числа
program kr_1;
uses crt;
var x:integer; f:text; n,s,k,j,i:integer;
a,b:array[1..50] of integer;
begin
clrscr;
writeln('programa znahodut kilkist kvadrativ z neparnuh chusel sered komponentiv faily');
assign(f,'c:\123.txt');
reset(f);
s:=0;
writeln('ishodniy fail:');
for i:=1 to 50 do
begin
read(f,a);
if eof(f) then
begin n:=i; break; end;
end;
close(f);
for i:=1 to n do
write(a,' ');
k:=0;
for j:=1 to n do
for i:=1 to n do
if sqrt(a)=trunc(sqrt(a)) then begin b[j]:=a; k:=i; break; end;
for j:=1 to k do
if (b[j] mod 2)<>0 then s:=s+1;
writeln;
for j:=1 to k do write(b[j]);
writeln;
writeln('kilkist kvadrativ z neparnuh chusel=',s);
readln
end.
{не могу перевти во второй массив все числа из которых можно лобыть корень}

Андрей
Андрей

Что-то Вы намудрили. Достаточно сделать цикл for от 1 до filesize(f) или цикл While not eof(f) и в этом цикле сделать:

if (a>0) and (sqrt(a) mod 2 <>0) then
begin
n:=n+1; //количество чисел
b[k]:=a; // копирование числа в массив
k:=k+1; // увеличение индекса массивва b
end;

Похожие вопросы
программирование ПАСКАЛЬ
Программирование. ПАСКАЛЬ
паскаль программирование
Программирование. Паскаль
Программирование (Паскаль)
программирование на Паскаль 7.1
Программирование. Паскаль. Рекурсия.
Программирование. Паскаль.
Программирование в паскале
Помогите с программированием (паскаль)