Удаление повторяющихся строк матрицы, Удаление всей строки. которая повторяется и сжатие матрицы. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Удаление повторяющихся строк матрицы, Удаление всей строки. которая повторяется и сжатие матрицы. |
Vasya_linux |
9.10.2012 12:31
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Вася Репутация: 0 |
Доброго времени суток, уважаемые форумчане.
Задача. В матрице mxn есть столбец (скажем первый), где элементы повторяются нужно удалить повторяющиеся строки. Ввод - вывод в файл. Кажется я запутася в циклах. Вот что у меня получилось. Если у Вас будет время, пожалуйста, помогите найти ошибку. Код Program date_term; const e=5; g=3; Type mas=array[1..e,1..g] of integer; var X,Y:mas; k,i,j,n,m:integer; f:text; name,name1:string [10]; BEGIN writeln ('Write name data file'); readln(name); assign(f,name); reset(f); for i:=1 to n do for j:=1 to m do read(f,X[i,j]); readln(f); close(f); writeln ('Write 2 name output file'); readln(name1); assign(f,name1); rewrite(f); writeln ('matr X'); for i:=1 to n do begin for j:=1 to m do write (X[i,j]:3); writeln; i:=1; while ( i<=n ) do {Esli o4erednoi element massiva X[i] raven posledyysemy, to} if X[i,j]=X[i+1,j] then begin {delete element massiva s nomerom i} for k:=i+1 to n+1 do Y[i,j]:=X[i,j+1]; {Ymensaem razmer massiva} n:=n-1 end else i:=i+1; writeln ('Izmenenniy matr Y'); for i:=1 to n do begin for j:=1 to m do write(f,Y[i,j]:3); writeln(f); end; end; close(f); END. |
Текстовая версия | 31.05.2024 10:42 |