Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2014, 23:41   #1
Петрov
Новичок
Джуниор
 
Регистрация: 10.06.2014
Сообщений: 1
По умолчанию Исключить в матрице строку, где есть элемент 0

помогите пожалуйста !!срочно надо!!!

На языке Паскаль: как иключить в матрице строку где есть элемент 0?Спасибо огромное кто мне поможет!!!!!!

Последний раз редактировалось Serge_Bliznykov; 11.06.2014 в 09:51.
Петрov вне форума Ответить с цитированием
Старый 11.06.2014, 23:19   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Как вариант:
1. Определить через константы размерность исходной матрицы:
Код:
Const Row = 5;
      Col = 5;
2. Определить тип для переменных, которые будут хранить элементы матрицы:
Код:
Type TMatr = array[1 .. Row, 1.. Col];
3. Написать процедуру, которая подготовит матрицу, заполнив значения случайными числами. Перед завершением работы этой процедуры генерируем два числа целого типа (строка и столбец), которые используем для обнуления одного элемента.
Код:
procedure MakeMatr(var M : TMatr);
var i, j;
begin
   ...
end;
4. Написать процедуру, которая будет копировать элементы строки i матрицы M1, в элементы строки j матрицы M2:
Код:
procedure CopyRow(Const M1 : TMatr; var M2 : TMatr; i, j : integer);
begin
...
end;
5. Написать функцию, которая будет возвращать логическое значение True, если в строке есть нулевой элемент - иначе возвращается False.
Код:
function TestRow(Const M1 : TMatr; i : integer) : boolean;
var j : integer;
begin
   TestRow := False;
   for j := 1 to Col do
      if M1[i, j] = 0 then
      begin
         TestRow := True;
          Exit;
      end;
end;
6. Написать процедуру, которая либо выводит матрицу на экран, либо записывает в текстовый файл
Код:
procedure printMatr(Const M : TMatr);
var i, j : integer;
     fh : text; {при необходимости вывода в файл}
                  {имя файла можно задать в виде константной строки}
begin
...
end;
7. Написать собственно программу, в которой генерируется матрица M1, затем в цикле выполняется проверка строки на содержание нулевого элемента и если такого элемента нет, то выполняется копирование строки в матрицу M2.
Код:
begin
   MakeMatr(M1);
   printMatr(M1);{Вывод матрицы M1}
   RowM2 := 1; {подсчитывается номер строки матрицы M2}
   for RowM1 := 1 to Row do
      if Not TestRow(M1, RowM1) then
      begin
         CopyRow(M1, M2, RowM1, RowM2);
         RowM2 := RowM2 + 1;
      end;
   printMatr(M2);{Вывод матрицы M2}
end.
Задача поделена на более простые части. Так думаю, что остальное будет сделать несложно.

PS: Писал не проверяя, так что ...


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 12.06.2014, 07:22   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Вашу задачу реализовывали, только на C++.

http://programmersforum.ru/showthread.php?t=261900
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти наименьший элемент матрицы X (15,20) и записать нули в ту строку и столбец , где он находится anuta1995 Помощь студентам 2 24.12.2013 07:33
Вставить нулевую строку и нулевой столбец перед строкой и столбцом где находится первый минимальный элемент Proskurina Помощь студентам 1 03.03.2013 19:24
исключить из матрицы строку и столбец valentinka24 Microsoft Office Excel 1 16.05.2012 13:27
В действительной матрице n*n поменять местами строку с MAX со строкой содержащей MIN элемент drnokaut Помощь студентам 1 06.06.2011 08:53
С .в матрице, строку где все числа четные, расположить в обратном порядке. daimonTM Помощь студентам 1 22.12.2010 10:02