IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Процедура+Массив\удаление к-й строки, задача
BoB@N
сообщение 15.11.2005 22:45
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской

Репутация: -  0  +


Условие задачи:
\Из данного двумерного массива удалить к-й столбец.\
Примечание:
1)"Из данного"-массив задаётся по желанию.
2)Программа дожна быть составлена с использованием процедуры или функции. (что-то типо: procedure del_line).
mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Fang
сообщение 16.11.2005 11:20
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской
Реальное имя: Fang

Репутация: -  2  +


За то что пытался запутать автора smile.gif - переписал исходник. Теперь он полностью удовлетворяет условию. И описание добавил.

Код
{--------------------------------------------------
Удаление стобцов в матрице.
---------------------------------------------------
>> Описание процедур
---------------------------------------------------
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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 10:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"