Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

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

Как вариант:
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,647
Репутация: 703

skype: bugrimovjava
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти наименьший элемент матрицы 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 11:02


08:58.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.