Практика программирования (Бейсик, Си, Паскаль)



         

Задачи, советы и ответы - часть 11


#include <stdio.h>

#include <stdlib.h>

void ind_copy(FILE *fl,FILE *f2,int n);

main(int narg, char **argv) {

FILE *fl,*f2; int n;

if(narg < 4) {

printf("\n Ошибка. Должно быть :"};

printf("\n7_09.exe файл1 файл2 n");

exit(0); }

f1l=fopen(argv[l],"rt");

f2=fopen(argv[2],"wt");

n=atoi(argv[3]};

ind_copy(fl,f2,n);

fcloseall();

}

/*-------------------------------------*/

void ind_copy(FILE *fl,FILE *f2,int n) {

char str[80]; int j;

for(j=0; j<n; j++) str[j]=' ';

while (Ifeof(fl)) {

fgets(&str[n],80,fl);

fputs(str,f2); }

return; }

Программа 7_09.pas

program indent;

var

f1,f2:text;

namel,name2:string;

n,k:integer;

procedure ind_copy(var fl,f2:text;n:integer);

var

str:string; begin

while not eof(fl) do

begin

readln(fl,str);

writeln(f2, ' ':n,str);

end;

end;

begin

if ParamCount < 3 then begin

writeln('Параметры заданы неверно. Должно быть: ');

writeln('7_09.exe файл1 файл2 сдвиг ');

exit;

end;

namel:=ParamStr(1);

name2:=ParamStr(2);

Val(ParamStr(3),n,k);

assign(fl,namel);

reset (fl);

assign(f2,name2);

rewrite(f2);

ind_copy(f1,f2,n);

close(f1);

close(f2); end.

Программа 7_09a.pas

program indent1; var

f1,f2:text; namel,name2:string;

n,k:integer;

procedure ind_copy(var f1,f2:text;n:integer) ;

var

ch:char;

begin

while not eof(fl) do begin

write(f2, ' ':n);

while not eoln(f1) do begin

read(fl,ch); write(f2,ch);

end;

readln(f1); writeln(f2);

end;

end;

begin

if ParamCount < 3 then begin

writeln("Параметры заданы неверно. Должно быть: ');

writeln('7_09a.exe файл! файл2 сдвиг ');

exit;

end;

narnel:=ParamStr(1);

name2:=ParamStr(2);

Val(ParamStr(3),n,k);

assign(fl,namel);

reset(f1);

assign(f2,name2);

rewrite(f2);

ind_copy(f1,f2,n);

close(fl);

close(f2);

end.




Содержание  Назад