Помогите Исправить Ошибки В Паскаль

Тема в разделе "Pascal and Delphi", создана пользователем romka7, 17 май 2012.

  1. romka7

    romka7 Гость

    Дан двухмерный массив размером M x N. Найти сумма
    положительных элементов каждой строки массива. Из первых четырех строк массива сформировать четыре новых вектора (одномерные массивы). Определить отношение произведения элементов массива, расположенных до максимального элемента в массиве,
    к произведению элементов, расположенных после максимального.

    program gjh;
    uses graph, crt;
    type
    realVector=array [1..15] of real;
    realMatrix=array [1..15] of realvector;
    var
    M,N,pr:integer;
    iii, f , i, j, Driver, Mode:integer;
    s,df_name:string;
    ch:char;
    A:realMatrix;
    P, A1, A2, A3, A4: realvector;
    t:text;
    procedure mulpus(A:realmatrix; M,N:integer; var sum:realVector);
    var
    i,j:integer;
    begin
    for i:= 1 to M do
    begin
    sum:=0;
    for j:=1 to N do
    if A[i,j]> 0 then
    begin
    if sum=0 then
    sum:=A[i,j]
    else
    sum:=sum+A[i,j];
    end;
    end;
    end;
    Function Zero(A:realVector; N: integer):integer;
    var
    i,j,max, imax, jmax:integer;
    pr, pr1, pr2: real;
    begin
    writeln;
    readln;
    max:=a[1,1];imax:=1;jmax:=1;
    for i:=1 to n do
    for j:=1 to m do if a[i,j]>max then
    begin max:=a[i,j];imax:=i;jmax:=j;end;
    writeln('max = ',max);
    pr1:=1;pr2:=1;
    for i:=1 to n do
    for j:=1 to m do
    begin
    if (i<imax) then pr1:=pr1*a[i,j];
    if i>imax then pr2:=pr2*a[i,j];
    if i=imax then
    begin
    if j<jmax then pr1:=pr1*a[i,j];
    if j>jmax then pr2:=pr2*a[i,j];
    end;
    end;
    writeln('proizvedenii do max = ',pr1:4:2);
    writeln('proizvedenii posle max = ',pr2:4:2);
    if pr2<>0 then
    begin
    pr:=pr1/pr2;
    writeln('otnoshenie = ',pr:4:10);
    end else writeln('delnie na 0');
    end else writeln('nevernyy vvod');
    readln;
    end;
    procedure roundedRect(x, y, l:integer);
    const
    r=5;
    b=7;
    var
    d:array [1..4] of ArcCoordsType;
    begin
    Arc(x+r,y+r,90,180,r);
    getarccoords(d[l]);
    arc(x+r,y+r+b,180,270,r);
    getarccoords(d[4]);
    Arc(x+r+l, y+r+b, 270,360,r);
    getarcCoords(d[2]);
    Arc(x+r+l, y+r,0, 90, r);
    getarccoords(d[3]);
    Line(d[1].Xstart, d[1].YStart, d[3].Xend, d[3].Yend);
    Line(d[3].Xstart, d[3].YStart, d[2].Xend, d[2].Yend);
    Line(d[2].Xstart, d[2].YStart, d[4].Xend, d[4].Yend);
    Line(d[4].Xstart, d[4].YStart, d[1].Xend, d[1].Yend);
    end;
    procedure button(x, y, l:integer; KeyName:string; cl:integer);
    begin
    SetColor(8);
    RoundedRect(x+2, y+2, l);
    SetfillStyle(1,8);
    FloodFill(x+4, y+4,8);
    SetColor(15);
    RoundedRect(x,y,l);
    SetFillStyle(1,15);
    FloodFill(x+4, y+4, 15);
    SetColor(cl);
    OutTextXY(x+5, y+11, KeyName);
    end;
    procedure Win1;
    begin
    setfillstyle(1,0);
    Bar3D(150,3,GetMaxX-4, GetmaxY-4,0,true);
    TextColor(15);
    Windows(20,2,79,24);
    end;
    begin
    Mode:=VGAHi;
    Driver:=VGA;
    f:=InstallUserFont('smal');
    InitGraph(Driver,Mode,'');
    SetTextJustify(0,0);
    SetTextStyle(f,0,4);
    SetColor(8);
    SetFillStyle(1,9);
    Bar3D(1,1,getmaxX-2,getmaY-2,0,True);
    Button(10,20,120,'vvod s klavy',12);
    Button(10,50,120,'chtenie iz file',8);
    Button(10,80,120,'zapis v file',8);
    Button(10,110,120,'reshenie zadachi',12);
    Button(10,440,120,'vyhod',8);
    SetFillStyle(1,15);
    Bar3D(150,3,GetmaxX-4,GetmaxY-4,0,True);
    DirectVideo:=False;
    iii:=1;
    repeat
    repeat
    ch:=ReadKey;
    if ch=#0 then
    ch:=Readkey;
    if ch in[#72,#80] then
    begin
    case iii of
    1:Button(10,20,120,'vvod s klavy',8);
    2:Button(10,50,120,'chtenie iz file',8);
    3:Button(10,80,120,'zapis v file',8);
    4:Button(10,110,120,'reshenie zadachi',8);
    5:Button(10,440,120,'vyhod',8);
    end;
    case ch of
    #80:begin
    iii:=iii+1;
    if iii>5then iii:=1;
    end;
    #72:begin
    iii:=iii-1;
    if iii<1 then iii:=5;
    end;
    end;
    case iii of
    1:Button(10,20,120,'vvod s klavy',12);
    2:Button(10,50,120,'chtenie iz file',12);
    3:Button(10,80,120,'zapis v file',12);
    4:Button(10,110,120,'reshenie zadachi',12);
    5:Button(10,440,120,'vyhod',8);
    end;
    end;
    until ch=#13;
    case iii of
    1:begin
    Win1;
    repeat
    write('vvedite chislo strok M(>=4):');
    ReadLn(M);
    until M>3;
    Write('vvedite chislo stolbtsov N:');
    ReadLn(N);
    WriteLn('vvedite matritsu:');
    for i:=1 to M do
    begin
    Write(i,':');
    for j:=1 to N do
    Read(A[i,j]);
    ReadLn;
    end;
    SetFillStyle(1,15);
    Bar3D(150,3,getmaxX-4,getmaxY-4,0,True);
    end;
    2:begin
    Win1;
    write('name file:');
    Readln(df_name);
    Assign(t,df_name);Reset(t);
    Readln(t,M,N);
    for i:=1 to M do
    begin
    for j:=1 to N do
    Read(t,A[i,j]);
    readln(t);
    end;
    Close(t);
    SetFillStyle(1,15);
    Bar3D(150,3,getmaxX-4,getmaxY-4,0,true);
    end;
    3:begin
    Win1
    write('name file:');
    Readln(df_name);
    Assign(t,df_name); Rewrite(t);
    writeln(t,M,'',N);
    for i:=1 to N-1 do
    write (t,A[[i,j]:3:1,'');
    writeln(t,A[i,N]:3:1);
    end;
    Close(t);
    SetfillStyle(1,15);
    Bar3D(150,3,getmaxX-4,getmaxY-4,0,true);
    end;
    4:begin
    Assign(t,'v31.dat'); Rewrite(t);
    A1:=A[1];
    A2:=A[2];
    A3:=A[3];
    A4:=A[4];
    MulPos(A,M,N,P);
    for i:= 1 to M do
    begin
    for j:=1 to N do
    write(t,A[i,j]:7:1);
    writeln(t,'otnoshenie=',P:3:1;
    end;
    writeln(t);
    writeln(t,'massiv1');
    for j:=1 to N do
    write(t,A1[j]:7:1);
    writeln(t);
    writeln(t,'massiv2');
    for j:=1 to N do
    write(t,A2[j]:7:1);
    writeln(t);
    writeln(t,'massiv3');
    for j:=1 to N do
    write(t,A3[j]:7:1);
    writeln(t);
    writeln(t,'massiv4');
    for j:=1 to N do
    write(t,A4[j]:7:1);
    writeln(t);
    writeln(t,'otnoshenie',pr);
    Close(t);
    Reset(t);
    j:=15;
    SetColor(8);
    while not EOF(t) do
    begin
    readln(t,s);
    outtextXY(155,j,s);
    j:=j+10;
    end;
    Close(t);
    end;
    end;
    until iii=5;
    CloseGraph;
    end.
     
Загрузка...
Похожие Темы - Помогите Исправить Ошибки
  1. Andersen1313
    Ответов:
    3
    Просмотров:
    3.842
  2. Rpp
    Ответов:
    1
    Просмотров:
    812
  3. victory
    Ответов:
    0
    Просмотров:
    966
  4. victory
    Ответов:
    0
    Просмотров:
    792
  5. victory
    Ответов:
    3
    Просмотров:
    1.333

Поделиться этой страницей