Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2023, 15:28   #1
Arinaeros
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 14
Восклицание Дана матрица А(М,N)

Дана Матрица А(М,N).Продублировать строки матрицы,где нет повторяющихся элементов
Arinaeros вне форума Ответить с цитированием
Старый 24.03.2023, 16:29   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
program dvoika;
var
   A: array of array of Currency;
   V: array of Integer;
   i, j, k, l: Integer;
begin
   i := 1;
   repeat
      if i <= 0 then WriteLn('Не верное значение');
      Write('Введите M = ');
      ReadLn(i);
   until i > 0;
   j := 1;
   repeat
      if j <= 0 then WriteLn('Не верное значение');
      Write('Введите N = ');
      ReadLn(j);
   until j > 0;
   SetLength(A, i, j);
   SetLength(V, i);
   for i := Low(A) to High(A) do
      for j := Low(A[i]) to High(A[i]) do begin
         Write('Введите элемент матрицы ', i + 1, ' x ', j + 1, ' = ');
         ReadLn(A[i, j]);
      end;
   l := Low(V);
   for i := Low(A) to High(A) do begin
      for j := Low(A[i]) to High(A[i]) do begin
         k := Low(A[i]);
         while (k < j) and (A[i, j] <> A[i, k]) do inc(k);
         if k < j then break;
      end;
      if k = High(A[i]) then begin
         V[l] := i;
         inc(l);
      end;
   end;
   k := High(A);
   SetLength(A, Length(A) + l, Length(A[i]));
   for i := High(A) downto Low(A) do begin
      if k = i then break;
      for j := Low(A[k]) to High(A[k]) do A[i, j] := A[k, j];
      if V[l - 1] = k then dec(l) else dec(k);
   end;
   WriteLn();
   for i := Low(A) to High(A) do begin
      for j := Low(A[i]) to High(A[i]) do
         Write(A[i, j], ' ');
      WriteLn();
   end;
   WriteLn();
end.

Последний раз редактировалось macomics; 24.03.2023 в 16:39.
macomics вне форума Ответить с цитированием
Старый 24.03.2023, 20:50   #3
Arinaeros
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 14
По умолчанию

можно ещё в pascalABC?)

Последний раз редактировалось Arinaeros; 24.03.2023 в 20:54.
Arinaeros вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана матрица n x n. wzapwzap Паскаль, Turbo Pascal, PascalABC.NET 4 01.07.2015 00:25
Дана матрица n*m... keb1 Помощь студентам 7 29.06.2013 11:06
Дана матрица А(3,5) Antihrist999 Общие вопросы C/C++ 4 09.12.2012 20:50
Дана матрица dmdol Паскаль, Turbo Pascal, PascalABC.NET 8 19.12.2010 19:57