Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ задача на массивы

Автор: -medievil- 5.11.2007 17:27

дан массив D(M,N).Обнулить строки и столбцы,в которых есть 0.Можно завести дополнительный одномерный массив. Массивы недавно начал изучать...ОЧЕНЬ хочется узнать как решается эта задача.

Автор: Lapp 5.11.2007 17:51

Можно, например, завести дополнительный одномерный целый массив длины M+N.
Первую его часть (длинв М) использовать для отметки строк с нулями, а вторую (длины N) - для отметки столбцов.
Примерно так:

  for i:=1 to M+N do z[i]:=1;
for j:=1 to N do for i:=1 to M do if D[i,j]=0 then begin
z[i]:=0;
z[j+M]:=0
end;
for i:=1 to M do if z[i]=0 then for j:=1 to N do D[i,j]:=0;
for j:=1 to N do if z[M+j]=0 then for i:=1 to M do D[i,j]:=0;

Автор: Гость 5.11.2007 19:59

а как задача будет выглядеть полностью?

Автор: Lapp 6.11.2007 12:07

Цитата(Гость @ 5.11.2007 15:59) *

а как задача будет выглядеть полностью?

Ну, как.. Опиши все переменные, задай начальные значения массива. И конечный вывод массива тоже, если ты не телепат (а на то явно не похоже.. smile.gif).