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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2014, 15:50   #1
vitalik-q3
Новичок
Джуниор
 
Регистрация: 16.12.2014
Сообщений: 4
По умолчанию Задача на символьную матрицу

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

Последний раз редактировалось vitalik-q3; 16.12.2014 в 15:57.
vitalik-q3 вне форума Ответить с цитированием
Старый 16.12.2014, 15:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
есть равные среди строк с меньшим номером
Это как? Пример в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2014, 16:07   #3
vitalik-q3
Новичок
Джуниор
 
Регистрация: 16.12.2014
Сообщений: 4
По умолчанию

Это типо,есть:
ааа
ббб
ппп
ббб
нужно удалить равные строки стоящие раннее,т. в нашем случае 2-юстрочку. а последнюю оставить без изменения
vitalik-q3 вне форума Ответить с цитированием
Старый 16.12.2014, 17:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А-а-а...
Ну это не сложно.
Покажешь как вводишь массив?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2014, 18:02   #5
vitalik-q3
Новичок
Джуниор
 
Регистрация: 16.12.2014
Сообщений: 4
По умолчанию

Код:
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;
но нужно не только цифры но и буквы
вот нашел такую программу,но она не работает,а что в ней не так не пойму
Код:
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.

Последний раз редактировалось Stilet; 16.12.2014 в 18:43.
vitalik-q3 вне форума Ответить с цитированием
Старый 16.12.2014, 18:49   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но нужно не только цифры но и буквы
Сразху предупреждаю - не проверял, но думаю сработает:
Код:
uses crt;
const n=4; m=3;
var s:array[1..n] of string[m];
    i:integer; 
 
begin clrscr;
 writeln('Введите строки матрицы:');
 for i:=1 to n do
   begin
    write('s[',i,']=');
    readln(s[i]);
 end;
clrscr;

writeln('Исходная матрица:');
for i:=1 to n do   writeln(s[i]);
writeln;

for i:=n downto 1 do begin
  for j:=i-1 downto 1 do if s[i]=s[j] then s[j]:=''; 
end;

writeln('матрица без повторов:');
for i:=1 to n do if s[i]<>'' then  writeln(s[i]);

writeln;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2014, 19:40   #7
vitalik-q3
Новичок
Джуниор
 
Регистрация: 16.12.2014
Сообщений: 4
По умолчанию

Спасибо,все работает.Оказывается код,легче счем я думал.Жаль что сам не додумался.
Единственное в тексте программы не хватает:
1) не описан J: integer,
2) нет в конце программы end.
Cпасибо еще раз.
vitalik-q3 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу, которая вводит символьную матрицу размером 3x4 Mixasnt Помощь студентам 4 30.10.2012 21:25
Задача на матрицу на с++ mary++ Помощь студентам 1 15.01.2012 02:11
Задача на матрицу VNS Помощь студентам 2 22.11.2009 13:47
задача на матрицу(Си) bars1984 Помощь студентам 4 20.05.2009 20:12
[Pascal]: Задача на символьную строку, цикл, одномерные массивы., выручите плз Knife Помощь студентам 2 31.03.2009 21:41