Помощь - Поиск - Пользователи - Календарь
Полная версия: символьная матрица
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
sergey121212
Вот дана задача

Дана символьная матрица размера nXm. Получить последовательно все строки матрицы, исключая те, для которых есть равные среди строк с меньшими номерами.

Не получается сделать помогите пожалуйста

вот что я сделал (т.е. начал) и дальше не пойму

Код
uses crt;
const N=5; M=10;
var
   Ch : set of char;
   d : array[1..N] of string;
   s:string;
   i, j : integer;
begin
   for  i:=1 to N do
     read(d[i]);
  for  i:=1 to N do begin
  while i<>(i-1) do
   if   d[i]
      

end.


Заранее благодарен
Lapp
Сергей, я не смог понять условие. Поясни, пожалуйста. Ты ничего не пропустил там?
Начни с того, что значит "получить строки". Напечатать, что ли?
А исключать надо просто повторы строк?
sergey121212
Нужно сравнить все елесенты строки матрици и потом вывести то, что осталось без повторений
Вот так

2 3 4 5
1 2 3 4
2 3 4 5

сравниваем 1 и 3 строку и если елементы расн то их включаем счетчик и если счетчик равен 4(в данном случае) то удаляем ети строки и выводим

1 2 3 4
sergey121212
Вот я сделал но что-то ен выводит то, что нужно

Код


uses crt;
const n=4; m=3;
var a,b,c:array[1..n,1..m] of integer;
    q,i,j,k,p:integer; f:boolean;

begin clrscr;
writeln('Введите построчно элеметы матрицы:');
for i:=1 to n do
  for j:=1 to m do
   begin
    write('a[',i,',',j,']=');
    readln(a[i,j]);
end;
clrscr;
writeln('Исходная матрица:');
for i:=1 to n do
begin
   for j:=1 to m do
   write(a[i,j]:4);
   writeln;
end;
writeln;

q:=0;
for i:=1 to n do
begin
  for j:=1 to m do
   begin
    k:=0;
    for p:=1 to  m do
    if a[i,p]=a[j,p] then k:=k+1;

  if k=m then
   begin a[i,p]:=b[i,j]; q:=q+1; end;
  if k<>m then a[i,p]:=c[i,p];
end;   end;
for i:=1 to q do
    begin
     for j:=1 to  m do
     write(c[i,j]:4); writeln;
    end;
end.



Добавлено через 2 мин.
Выводит только нули и все
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.