Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ символьная матрица

Автор: sergey121212 27.11.2011 18:37

Вот дана задача

Дана символьная матрица размера 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 28.11.2011 7:08

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

Автор: sergey121212 28.11.2011 21:01

Нужно сравнить все елесенты строки матрици и потом вывести то, что осталось без повторений
Вот так

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

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

1 2 3 4

Автор: sergey121212 29.11.2011 0:51

Вот я сделал но что-то ен выводит то, что нужно

Код


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 мин.
Выводит только нули и все