1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Помогите пожалуйста переписать из Паскаля в Си, пунктуацию си совсем не знаю, если не сложно: Main.pas
program pagr; uses g_modulis; var l, kiek, c, i, p,i1, a_search : integer; rez, stat : string; mas : masyvas; f, outf, st : text; start,start1,Result: longint;
begin
{$I-} Assign(f, 'BLA.txt'); Rewrite(f); for i := 1 to 2000 do begin randomize; mas[i] := random(1000); write(f, mas[i], ' '); end; reset(f);
kiek :=0; repeat Writeln(' Enter the result file name: '); Readln(rez); Assign(outf, rez); Rewrite(outf); Inc(kiek); if kiek=3 then halt; until IOResult=0;
kiek :=0; repeat Writeln('Enter the statistics file name: '); Readln(stat); Assign(st, stat); Rewrite(st); Inc(kiek); if kiek=3 then halt; until IOResult=0; {$I+}
p := 1;
while not seekeof(f) do begin if seekeoln(f) then readln(f); read(f, l); mas[p] := l; inc(p); end;
writeln('First massive'); for i1 :=1 to 2000 do write(mas[i1],' ');
writeln; start:=gettime1; burbulas(mas , n); writeln('Time of sorting:',gettime1-start, ' mSec'); write(st, gettime1-start ); for c := 1 to 2000 do begin write(outf, mas[c]); write(outf,' '); write(mas[c],' '); end; writeln; Writeln(' Enter the value of element to find:'); Readln(a_search);
start1:=gettime1; Result:=Bin_Search (mas, 50, a_search); if (result > 0) then begin WriteLn('Time of finding ', GetTime1 - start1);
writeln ('number= ',result) ; end else writeln('Not found!'); readln;
close(f); close(st); close(outf); readln;
end.
Module.pas
unit g_modulis;
interface uses dos; const n =2000;
type masyvas = array[1..n] of integer;
procedure burbulas(var mas : masyvas; n : integer); function Gettime1:longint; Function Bin_Search (mas:masyvas; size:integer; x: integer) : integer;
implementation
procedure burbulas(var mas : masyvas; n : integer); var i, j, b : integer; c : boolean; begin j:= 1; repeat c:=true; for i:=1 to n-j do if mas[i] > mas[i+1] then begin b:= mas[i]; mas[i]:= mas[i+1]; mas[i+1]:=b; c:=false; end; j:=j+1; until (j=n) or c end;
function Gettime1:LongInt; var h,m,s,ms:word; begin gettime(h,m,s,ms); gettime1:=ms+100*(s+60*(m+60*h)); end;
Function Bin_Search (mas:masyvas; size:integer; x: integer) : integer;
Var left, right, center: integer; begin left := 1; right := size; repeat center := (right + left) div 2; if mas[ center ] >= X then right := center else left := center; until (right - left = 1) or (mas[ center ] = X); bin_search:=center; end; end.