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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.03.2009, 18:53   #1
Med
 
Регистрация: 19.03.2009
Сообщений: 6
По умолчанию Несложная задачка...

Хм... оказалась нетак то проста

Заменить нулями эл-ты матрицы, стоящие на пересечении строк и столбцов, в которых имеется хотя бы по одному нулю.

Помогите решить...
Med вне форума
Старый 19.03.2009, 19:00   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Надо найти столбцы и строки с нулями.И занести в массив...
Какая размерность матрицы ?
Код:
for i:=1 to m do
  for j:=1 to m do
  begin
     if A[i,j]=0 then stolby[i]:=true;
  end;
for i:=1 to m do
  for j:=1 to m do
  begin
     if A[j,i]=0 then stroki[i]:=true;
  end;
- запоминаем где есть нули.
потом
Код:
for i:=1 to length(stolby) do
 for j:=1 to length(stroki) do
   A[i,j]:=0;
Вроде так...

Последний раз редактировалось Levsha100; 19.03.2009 в 19:08.
Levsha100 вне форума
Старый 19.03.2009, 19:19   #3
Med
 
Регистрация: 19.03.2009
Сообщений: 6
По умолчанию

Размерность матрицы задается пользователем.
Med вне форума
Старый 19.03.2009, 19:23   #4
Med
 
Регистрация: 19.03.2009
Сообщений: 6
По умолчанию

а stolby[i] и stroki[i] - это одномерные массивы?
Med вне форума
Старый 19.03.2009, 19:37   #5
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Да.
Но я не уверен в правильности...
Levsha100 вне форума
Старый 19.03.2009, 19:40   #6
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
Заменить нулями эл-ты матрицы, стоящие на пересечении строк и столбцов, в которых имеется хотя бы по одному нулю.
А разве нули там итак не стоят?
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума
Старый 19.03.2009, 19:50   #7
Med
 
Регистрация: 19.03.2009
Сообщений: 6
По умолчанию

Нет, не могут и нестоять...
Например:
1. Матрица:

1 2 3 4
5 6 7 0
9 0 11 12
13 14 15 16

вот: в 4 столбце и в 3 строке присутствуют по 1 нулю, следует:
12 меняем на 0

тоже самое делаем, токо уже берем что 0 стоит во 2 стобце и 2 строке и меняем 6 на 0
Med вне форума
Старый 19.03.2009, 20:37   #8
Jean-Esther
Пользователь
 
Аватар для Jean-Esther
 
Регистрация: 15.01.2009
Сообщений: 69
По умолчанию

Мой вариант (на основе идеи Levsha100)
Код:
const m=4;
var a:array[1..m,1..m] of integer;
    v,h:array[1..m] of boolean;
    i,j:byte;
begin
for i:=1 to m do
    for j:=1 to m do
        read(a[i,j]);
for i:=1 to m do
    for j:=1 to m do
        if a[i,j]=0 then begin h[i]:=true; v[j]:=true end;
for i:=1 to m do
    for j:=1 to m do
        if (h[i] and v[j]) then a[i,j]:=0;
readln;
writeln('------');
for i:=1 to m do
    begin
    for j:=1 to m do
        write(a[i,j],' ');
    writeln;
    end;
readln;
end.
Silence is of great value...
Jean-Esther вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка ! Viento Microsoft Office Excel 4 31.01.2009 12:19
Задачка Cvieri Microsoft Office Excel 9 08.10.2008 19:44
Помогите, вроде несложная задачка, НО Nez Общие вопросы Delphi 17 12.03.2007 14:04