10 задач с решениями программированием на Паскале — страница 3

  • Просмотров 6138
  • Скачиваний 560
  • Размер файла 11
    Кб

A[i]:=s;end;end; for j:=1 to n do for i:=1 to n do if a[i]>a[i-1] then begin s:=a[i];a[i]:=a[i-1];a[i-1]:=s;end; k:=0; for i:=1 to n do if a[i]=0 then begin s:=a[i];a[i]:=a[n-k];a[n-k]:=s;k:=k+1;end; for i:=1 to n do write(buf,a[i]); close(buf);close(f); erase(f); rename(buf,'c:\f.int'); end; procedure w(var f:fi); var a:integer; begin reset(f); while not eof(f) do begin read(f,a);write(a:4);end; end; begin writeln('Задайте кол-во компонентов файла');readln(n); vvod(n,f1); sort(n,f1); w(f1); write; end. Блок схема: Задача 10. Условие: Записать в конец каждой строки текстового файла количество слов в этой строки. Программа: program S2_Z10; type ft=text;

mas=array[1..100] of string; var f1:ft;k:integer; procedure sozd(var f:ft;n:integer); var i:integer; s:string; begin assign(f,'c:\f.txt');rewrite (f); for i:=1 to n do begin writeln('введите ',i,'-ю строку');readln(s); writeln(f,s); end; close(f); end; procedure kslov(var f:ft); var s,pk,p:string;k:integer; buf:ft; begin reset(f); assign(buf,'c:\buf.txt'); rewrite(buf); while not eof(f) do begin k:=0;readln(f,s); p:=s; while pos(' ',p)>1 do begin k:=k+1; delete(p,1,pos(' ',p));end; str(k,pk);insert(pk,s,length(s)+1); writeln(buf,s);end; close(f); close(buf); erase(f); rename(buf,'c:\f.txt'); end; procedure w(var f:ft); var s:string; begin writeln('измененный фаил будет выглядеть так:'); reset(f); while not eof(f) do begin

readln(f,s); writeln(s) end; close(f); end; begin writeln('введите кол-во строк в файле'); readln(k); sozd(f1,k); kslov(f1);w(f1); end. Блок схема: