0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 6
1

Матрица. Найти 2 одинаковые строки и вывести их

01.11.2010, 22:25. Показов 2384. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, помогите написать программу на паскале:

Создать матрицу A[1..N,1..M]. Найти две строки, в которых элементы одинаковы, но могут стоять в различной последовательности. Вывести номера строк и их значения

Вот прогуглил нашел программу, но надо чтобы была не через процедуры.Помогите переделат.

Код
uses crt;
type Tmatr=array[1..50,1..50] of integer;
var a,b:Tmatr;
    n,m,i,j,s1,s2:integer;
procedure SortStr(var z:Tmatr);{сортировка строк массива по возрастанию методом пузырька}
var i,j,k,x:integer;
begin
for i:=1 to n do
for j:=1 to m-1 do
for k:=1 to m-1 do
if z[i,k]>z[i,k+1] then
    begin
      x:=z[i,k];
      z[i,k]:=z[i,k+1];
      z[i,k+1]:=x;
    end;
end;
procedure Sravn(z:tmatr;var s1:integer;var s2:integer);{процедура сравнения}
var i,j,k,t,q:integer;
begin
q:=0; {переменная для фиксации события совпадения строк}
for i:=1 to n-1 do
for k:=i+1 to n do
  begin
    t:=0;
    for j:=1 to m do
    if z[i,j]=z[k,j] then t:=t+1;{если  элементы двух строк совпадают}
    if t=m then {если совпали все}
      begin
       q:=1; {фиксируем событие}
       s1:=i; {запоминаем первую стороку}
       s2:=k;  {запоминаем первую стороку}
       exit; {заканчиваем поиск}
      end;
  end;
if q=0 then {если совпадений нет, сообщаем}
   begin
    writeln('Takih strok net!');
    readln;
    halt;
   end;
end;

begin
clrscr;
write('Vvedite kolicestvo strok n=');readln(n);
write('Vvedite kolicestvo stolbcov m=');readln(m);
writeln('Vvedite elementy matricy:');
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);  {елементы удобно вводить по строкам через пробел, в конце строки Enter}
readln;
clrscr; {очищаем экран и выводим матрицу}
writeln('Matrica:');
for  i:=1 to n do
   begin
     for j:=1 to m do
     write(a[i,j]:4);
     writeln;
   end;
b:=a; {запоминаем неотсортированную матрицу}
SortStr(a); {сортируем по строкам}
Sravn(a,s1,s2); {ищем одинаковые}
writeln('Elementy strok ',s1,' i ',s2,' ravny'); {выводим сообщение}
for j:=1 to m do write(b[s1,j],' '); {первая совпавшая строка}
writeln;
for j:=1 to m do write(b[s2,j],' '); {вторая совпавшая строка}
readln
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2010, 22:25
Ответы с готовыми решениями:

Найти одинаковые данные в столбце A и вывести все строки на новый лист
Есть огромный список, с повторяющими значениями(значения может быть как и 2, так и гораздо больше),...

Заданная матрица размером NxM. Удалить те строки, в которых встречаются одинаковые элементы
Народ помогите пож нужно очень срочно. совсем запутался с этим задание,буду благодарен за помощь....

Найти одинаковые элементы первой строки, максимум соответствующих элементов второй строки, сократив матрицу
Здравствуйте! Есть матрица,в которой нужно найти одинаковые элементы первой строки,после найти...

Определить одинаковые по значению строки и вывести их на экран
Есть массив строк. Необходимо определить одинаковые по значению строки, и вывести их на экран. Но...

0
01.11.2010, 22:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2010, 22:25
Помогаю со студенческими работами здесь

Дана матрица размером МxN. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер
Помните написать программу с использование функций или процедур Дана матрица размером МxN. Найти...

Если две строки одинаковые по длине то вывести Yes иначе No
Пользователь вводит две строки если они одинаковые по длине то тогда программа выводит Yes иначе No

Текстовый файл. Вывести строки, содержащие одинаковые слова
Вывести на экран и в текстовый файл строки данного текстового файла, содержащие одинаковые слова....

Дана матрица размера MxN. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также
Дана матрица размера MxN. Найти номер ее строки с наибольшей суммой элементов и вывести данный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru