Надо сделать типо введите кнопку y это завершение программы а если ввели z то продолжение, как сделать вот пример readln (c); until c in ['z','z','y','y']; if c in ['y','y'] then halt; //остановка программы как мне написать слово продолжить где halt

DIMONSTERUSp DIMONSTERUSp    2   08.08.2019 00:30    0

Ответы
К1а2т3я456 К1а2т3я456  04.10.2020 04:04
//Данная программа вычисляет детерминант матрицы
//PascalABC.NET 3.2 сборка 1318

    Var
  c:char;
  Reci:array of integer;
  ma:array of array of integer;
  n,nc,ip:integer;
  resf:real;

  function minor(ip,i,n:integer; var reci:array of integer):real;
  Var
    ic,j,c,ipp,icc:integer;
    res:real;
    b:boolean;
    arf:array[1..4] of integer;
  begin
  b:=true;
  c:=0;
  reci[ip]:=i;
  ipp:=ip+1;
  if ipp=nc-1 then
  begin
    for ic:=1 to n do
      begin
        for j:=1 to ip do
          if ic=reci[j] then
  b:=false;
          if b=true then
           begin
            inc(c);
            arf[c]:=ma[ipp,ic];
           end;
         b:=true;
        end;
       inc(ipp);
       for ic:=1 to n do
      begin
        for j:=1 to ip do
          if ic=reci[j] then
  b:=false;
          if b=true then
           begin
            inc(c);
            arf[c]:=ma[ipp,ic];
           end;
         b:=true;
        end;
       minor:=arf[1]*arf[4]-arf[2]*arf[3];
      end
      else
  begin
      for ic:=1 to n do
      begin
        for j:=1 to ip do
          if ic=reci[j] then b:=false;
         if b=true then
            res+=ma[ipp,ic]*power(-1,ipp+i)*minor(ipp,ic,n,reci);
           b:=true;
         end;
    minor:=res;
   end;
end;

procedure start();
Var
  i,j:integer;
begin
  write('Введите количество строк и столбцов:');
  readln(n);
  ip:=1;
  nc:=n;
  setlength(Reci,n+1);
  setlength(ma,n+1);
  for i:=1 to n do
  setlength(ma[i],n+1);
  writeln('Введите матрицу:');
  for i:=1 to n do
    for j:=1 to n do
      readln(ma[i][j]);
  for i:=1 to n do
    resf+=ma[ip][i]*power(-1,ip+i)*minor(ip,i,n,reci);
  writeln('Res:',resf);
end;

begin
repeat
readln(c);
until c in ['Z','z','Y','y'];
if c in ['Y','y'] then halt else start();
end.

Пример работы программы:
3 //введено ни z, ни y, повторяем ввод
z //продолжаем программу
Введите количество строк и столбцов:3
Введите матрицу:
9
1
2
8
3
7
4
6
5
Res:-183
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика