Процедура+Массив\удаление к-й строки, задача |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Процедура+Массив\удаление к-й строки, задача |
BoB@N |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 21 Пол: Мужской Репутация: 0 |
Условие задачи:
\Из данного двумерного массива удалить к-й столбец.\ Примечание: 1)"Из данного"-массив задаётся по желанию. 2)Программа дожна быть составлена с использованием процедуры или функции. (что-то типо: procedure del_line). |
Fang |
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Fang Репутация: 2 |
За то что пытался запутать автора - переписал исходник. Теперь он полностью удовлетворяет условию. И описание добавил.
Код {-------------------------------------------------- Удаление стобцов в матрице. --------------------------------------------------- >> Описание процедур --------------------------------------------------- 1) MatrixOut(x,y:integer) - выводит матрицу на экран. x - количество строк, y - количество столбцов. 2) MatrixPer(temp:integer) - Эта процедура делает переназначение элементам массива. temp - номер строки/стобца. --------------------------------------------------- >> Пример --------------------------------------------------- Дана матрица: 1 0 -3 A = 4 6 2 -1 4 7 , необходимо удалить вторую столбей. Алгоритм такой: 1) Необходимо присовить элементам второго стобца элементы третьего столбца (A[1,2] = A[1,3], A[2,2] = A[2,3] и т.д.) После преобразований получится матрица: 1 -3 -3 A = 4 2 2 -1 7 7 2) Теперь осталось скрыть третий столбец и вывести на экран только первые два } uses crt; var m,n,i,j,k:integer; a: array[1..10,1..10] of integer; {процедура вывода матрицы} procedure MatrixOut(x,y:integer); begin writeln; for i:=1 to x do begin for j:=1 to y do write(a[i,j]:8); writeln; end; writeln; end; {процедура переназначения эл-в массива} procedure MatrixPer(temp:integer); begin for i:=1 to m do begin for j:=temp to n-1 do begin a[i,j]:=a[i,j+1]; end; end; end; {основная программа} begin clrscr; write('Введите размер матрицы (MxN): '); readln(m,n); writeln('Введите элементы матрицы: '); {Вводим матрицу} for i:=1 to m do for j:= 1 to n do begin write('A[',i,' ',j,']:='); readln(a[i,j]); end; MatrixOut(m,n); {вывод матрицы} write('Введите номер стобца который необходимо удалить: '); readln(k); MatrixPer(k); {шаг 1. (см. алгоритм} writeln('Результат: '); MatrixOut(m,n-1); {шаг 2. (см. алгоритм)} readln; end. Сообщение отредактировано: Fang - |
Текстовая версия | 4.05.2024 17:18 |