![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
BoB@N |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Репутация: ![]() ![]() ![]() |
Условие задачи:
\Из данного двумерного массива удалить к-й столбец.\ Примечание: 1)"Из данного"-массив задаётся по желанию. 2)Программа дожна быть составлена с использованием процедуры или функции. (что-то типо: procedure del_line). ![]() |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
http://forum.pascalnet.ru/index.php?showt...indpost&p=38100
поменяй k с k+1, k+1 с k+2 и так далее... в итоге k станет последним и протсо уменьши размерность матрицы на 1 по столбцам. ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Fang |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Fang Репутация: ![]() ![]() ![]() |
Недавно одногруппник попросил написать такую же программу. Вот исходник:
Код uses crt; var m,n,i,j:integer; a: array[1..10,1..10] of integer; ch:char; {процедура вывода матрицы} 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:=temp to m-1 do begin for j:=1 to n do begin a[i,j]:=a[i+1,j]; end; end; end; {основная программа} begin repeat 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; {проверяем равен ли какой-либо эл-т 0} MatrixOut(m,n); for i:=1 to m do for j:=1 to n do if a[i,j] = 0 then MatrixPer(i); {шаг 1. (см. алгоритм} writeln('Результат: '); MatrixOut(m-1,n); {шаг 2. (см. алгоритм)} writeln('Для выхода нажми ESC...'); ch:=readkey; until ch=#27; end. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
To: Fang
Вполне возможно, что эта программа даже будет работать... НО !!! Ты внимательно читал условие? Цитата \Из данного двумерного массива удалить к-й столбец.\ Все. Никаких проверок на 0 и т.п. Извини, но если ты уж даешь исходник ПОЛНОСТЬЮ, то он должен удовлетворять условию, иначе ты просто запутываешь автора вопроса... |
Fang |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Fang Репутация: ![]() ![]() ![]() |
Sorry, забыл написать что программа удаляет столбец в котором имеется 0.
|
Fang |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Fang Репутация: ![]() ![]() ![]() |
За то что пытался запутать автора
![]() Код {-------------------------------------------------- Удаление стобцов в матрице. --------------------------------------------------- >> Описание процедур --------------------------------------------------- 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 - 16.11.2005 11:20 |
BoB@N |
![]()
Сообщение
#7
|
|||
![]() Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Репутация: ![]() ![]() ![]() |
![]() ![]() ![]() Задание Выполнено ! прошу закрыть тему.
|
|||
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 22:16 |