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

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

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

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


Новичок
*

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

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


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

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


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

 





- Текстовая версия 4.05.2024 17:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name