Помогите с текстовыми задачами в Паскале АВС.ПОЖАЛУЙСТА!ЗАРАНЕЕ СПАСИБО!
Добавлено: 28 ноя 2013, 20:13
1.Создать текстовый файл file1.txt и записать в него несколько строк. Создать текстовый файл file2txt и записать в него строки из файла file1 в обратном порядке.
2.Создать файл file1.txt и записать десятичные числа,на каждой строке число. Создать файл file2.txt который будет содержать эти же числа только в двоичной системе счисления.
3.Создать файл file1.txt и записать двоичные числа,на каждой строке число. Создать файл file2.txt который будет содержать эти же числа только в десятичной системе счисления.
Есть все задачи,но они не работают. Выложу их может помогут.
Вот первая задача,но там что-то неправильно, так как она не работает.
[syntax='Delphi']
Program n1;
const n=2;
var f,g: text;
i:integer;
s:string;
begin
assign(f,'file1.txt');
assign(g,'file2.txt');
rewrite(f);
for i:=1 to n do
begin
readln (s);
writeln(f,s);
end;
close(f);
reset(f);
rewrite(g);
while not (eof(f)) do
for i:=n downto 1 do
begin
readln(f,s);
writeln(g,s);
end;
close(f);
close(g);
end.[/syntax]
Вторая задача разбита на 2 части, 1 часть - это создание файла F, а 2 часть - это создание файла G и перевод из 2 системы счисления в 10. Тоже не работает.
1 часть:
[syntax='Delphi']
Program n1;
const n=5;
var f:text;
s:string;
i:integer;
begin
assign(f, 'input.txt');
rewrite(f);
for i:=1 to n do
begin
readln (s);
writeln(f,s);
end;
close(f);
end.
2 часть
Program n2;
var f,g:text;
s,s1:string;
o,n:integer;
begin
assign(g,'out.txt');
assign(f,'input.txt');
reset (f);
rewrite(g);
while not eof(f) do
begin
readln(f,s);
n:=StrToInt(s);
while n<>0 do
begin
o:=n mod 2;
n:=n div 2;
s1:=IntToStr(o)+s1;
end;
writeln(g,s1);
end;
close(f);
close(g);
end.
[/syntax]
Третья задача тоже разбита так же как и вторая. И эта не работает.
1 часть:
[syntax='Delphi']
Program n1;
const n=5;
var f:text;
s:string;
i:integer;
begin
assign(f, 'input.txt');
rewrite(f);
for i:=1 to n do
begin
readln (s);
writeln(f,s);
end;
close(f);
end.
2 часть:
Program n2;
var f,g:text;
s,s1:string;
i,j,n,otv,dva:integer;
begin
assign(g,'out.txt');
assign(f,'input.txt');
reset (f);
rewrite(g);
while not eof(f) do
begin
readln(f,s);
for i:=1 to length(s) do
if StrToInt(s)>0 then
begin
dva:=1;
for j:=1 to length(s)-i do
dva:=dva*2;
otv:=otv+dva;
end;
writeln(otv);
writeln(g,s1);
end;
close(f);
close(g);
end.
[/syntax]
2.Создать файл file1.txt и записать десятичные числа,на каждой строке число. Создать файл file2.txt который будет содержать эти же числа только в двоичной системе счисления.
3.Создать файл file1.txt и записать двоичные числа,на каждой строке число. Создать файл file2.txt который будет содержать эти же числа только в десятичной системе счисления.
Есть все задачи,но они не работают. Выложу их может помогут.
Вот первая задача,но там что-то неправильно, так как она не работает.
[syntax='Delphi']
Program n1;
const n=2;
var f,g: text;
i:integer;
s:string;
begin
assign(f,'file1.txt');
assign(g,'file2.txt');
rewrite(f);
for i:=1 to n do
begin
readln (s);
writeln(f,s);
end;
close(f);
reset(f);
rewrite(g);
while not (eof(f)) do
for i:=n downto 1 do
begin
readln(f,s);
writeln(g,s);
end;
close(f);
close(g);
end.[/syntax]
Вторая задача разбита на 2 части, 1 часть - это создание файла F, а 2 часть - это создание файла G и перевод из 2 системы счисления в 10. Тоже не работает.
1 часть:
[syntax='Delphi']
Program n1;
const n=5;
var f:text;
s:string;
i:integer;
begin
assign(f, 'input.txt');
rewrite(f);
for i:=1 to n do
begin
readln (s);
writeln(f,s);
end;
close(f);
end.
2 часть
Program n2;
var f,g:text;
s,s1:string;
o,n:integer;
begin
assign(g,'out.txt');
assign(f,'input.txt');
reset (f);
rewrite(g);
while not eof(f) do
begin
readln(f,s);
n:=StrToInt(s);
while n<>0 do
begin
o:=n mod 2;
n:=n div 2;
s1:=IntToStr(o)+s1;
end;
writeln(g,s1);
end;
close(f);
close(g);
end.
[/syntax]
Третья задача тоже разбита так же как и вторая. И эта не работает.
1 часть:
[syntax='Delphi']
Program n1;
const n=5;
var f:text;
s:string;
i:integer;
begin
assign(f, 'input.txt');
rewrite(f);
for i:=1 to n do
begin
readln (s);
writeln(f,s);
end;
close(f);
end.
2 часть:
Program n2;
var f,g:text;
s,s1:string;
i,j,n,otv,dva:integer;
begin
assign(g,'out.txt');
assign(f,'input.txt');
reset (f);
rewrite(g);
while not eof(f) do
begin
readln(f,s);
for i:=1 to length(s) do
if StrToInt(s)>0 then
begin
dva:=1;
for j:=1 to length(s)-i do
dva:=dva*2;
otv:=otv+dva;
end;
writeln(otv);
writeln(g,s1);
end;
close(f);
close(g);
end.
[/syntax]