Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с Pascal пожалуйста, не могу разобраться

Egor Tolmachev Ученик (110), на голосовании 1 год назад
Помогите пожалуйста, нужно чтоб программа открывала csv файл "input", брала от туда число, которое находится в файле, после чего она должна перевести это число в двоичную систему и записать во второй файл csv "output"

program primer;
var f1,f2:text;
a,b:integer;
I,n:integer;
S:string;
procedure F(a,b:integer; flag:integer);
begin
if flag = 1 then
if a < 0 then begin
a:=a*(-1);
writeln (f2, '1') ;
end
else writeln (f2, '0');
end;

begin
Assign(f1, 'file1.txt');
Reset(f1);
while not eof(f1) do
Readln(f1);
if b <> 0 then
while (a div b) > 0 do begin
a:= a mod b;
end;
Assign(f2, 'file2.txt');
Rewrite(f2);
write(a);
writeln(f2);
close (f1);
close (f2);
end.
Голосование за лучший ответ
Кузяка Искусственный Интеллект (226180) 2 года назад
txt
Вроде должно работать. Единственное что - создания второго файла нету. Или паскаль сам создаёт по команде assign?
Александр Искусственный Интеллект (301742) 2 года назад
пишешь про "второй файл csv output", но в коде вижу "file2.txt"

какая-то procedure F, которой ты не пользуешься...
переменные a и b используешь до инициализации...
переменные I n s не используются...
запускать пробовал?

попросите уже администрацию раздел по паскакалю сделать...
СКОРОЖАРКА!!! Гуру (3197) 2 года назад
 program proga; 

var
f1, f2: text;
a: integer;
i: integer;
s: string = '';

begin
assign(f1, 'file1.csv');
reset(f1);
read(f1, a);
close(f1);
for i := 0 to 31 do // integer = 32 бит
if a and (1 shl i) > 0 then
if a >= 0 then
s := '1' + s
else
s := '0' + s
else if a >= 0 then
s := '0' + s
else
s := '1' + s;
assign(f2, 'file2.csv');
rewrite(f2);
write(f2, s);
close(f2);
end.
Похожие вопросы