SHARE
TWEET

PascalDZ

a guest Oct 20th, 2019 84 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program six_two;
  2. var a:array [1..1000,1..1000] of integer;
  3. i,j,m,n,l,k,r,t:integer;
  4. b:boolean;
  5. begin;
  6. //Заполнение матрицы
  7. writeln('Введите параметры матрицы');
  8. readln(m,n);
  9. writeln('Введите элементы матрицы');
  10. for i:=1 to m do
  11.   for j:=1 to n do
  12.    readln(a[i,j]);
  13. //Конец заполнения
  14. write('Первоначальная матрица');
  15. for i:=1 to m do
  16.  begin
  17.  writeln;
  18.  for j:=1 to n do
  19.   write(a[i,j]:4);
  20.  end;
  21. writeln;
  22. writeln;
  23. //Сверка строк
  24. i:=1;
  25. while i < (m-1) do
  26.  begin
  27.  k:=0;//Количество совпадающих строк
  28.  j:=i+1;
  29.  repeat
  30.   b:=true;
  31.   if a[i,1] = a[j,1] then //Сверка шифра(первый элемент строки)
  32.     begin
  33.     //Сверка характеристик детали (элементы строки со 2 номера)
  34.     for l:=2 to n do
  35.       if a[i,l] <> a[j,l] then b:=false;
  36.       if b=false then k:=k+1;
  37.      //вывод строк
  38.     if k>1 then
  39.      begin
  40.      writeln('Частично совпадающая строка номер ',k+1);
  41.      for l:=1 to n do
  42.      write (a[j,l]:4);
  43.      writeln;
  44.      end;
  45.     if k=1 then
  46.      begin
  47.      writeln('Частично совпадающая строка номер 1');
  48.      for l:=1 to n do
  49.      write (a[i,l]:4);
  50.      writeln;
  51.      writeln('Частично совпадающая строка номер ',k+1);
  52.      for l:=1 to n do
  53.      write (a[j,l]:4);
  54.      writeln;
  55.      end;
  56.     if b = false then
  57.      begin
  58.      for r:=j to (m-1) do//Удаление вторичной совпадающей строки
  59.       for t:=1 to n do
  60.        a[r,t]:=a[r+1,t];
  61.      m:=m-1;
  62.      end
  63.      else j:=j+1;
  64.     end
  65.     else j:=j+1;
  66. until (j = m);
  67.   if k>0 then
  68.    begin
  69.    for r:=i to (m-1) do//Удаление первоначальной совпадающей строки
  70.     for t:=1 to n do
  71.      a[r,t]:=a[r+1,t];
  72.    m:=m-1;
  73.    end
  74.    else i:=i+1;
  75.  end;
  76. writeln;
  77. write('Матрица после резекции');
  78. for i:=1 to m do
  79.  begin
  80.  writeln;
  81.  for j:=1 to n do
  82.   write(a[i,j]:4);
  83.  end;
  84. end.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top