27.05.2014, 20:14 | #1 (permalink) |
Новичок
Регистрация: 21.05.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль, матрица
Cделать ввод матрицы,уплотить заданную матрицу,удаляя из нее строки и столбцы,заполненные нулями. |
27.05.2014, 20:14 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Полезные советы по решению проблемы можно найти в аналогичных обсуждениях Задача. Паскаль. Матрица Матрица Матрица |
28.05.2014, 10:38 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Const Mmax=50; Nmax=50; Type Matr=Array[1..Mmax,1..Nmax] of Integer; Vect=Array[1..Mmax] of Integer; Var i,j,k,M,N:Integer; A:Matr; V:Vect; Function Test_Zero(VV:Vect; Nv:Integer):Boolean; var p:integer; b:boolean; begin b:=true; for p:=1 to Nv do if VV[p]<>0 then b:=false; Test_Zero:=b; end; Begin Write('Number of lines = '); Readln(M); Write('Number of columns = '); Readln(N); for i:=1 to M do for j:=1 to N do begin Write('A[',i:2,',',j:2,'] = '); Readln(A[i,j]); end; Writeln; Writeln('Initial matrix:'); for i:=1 to M do begin for j:=1 to N do Write(A[i,j]:4); Writeln; end; Writeln; Writeln('New matrix:'); i:=0; Repeat Inc(i); for j:=1 to N do V[j]:=A[i,j]; if Test_Zero(V,N) then begin for k:=i+1 to M do for j:=1 to N do A[k-1,j]:=A[k,j]; Dec(M); end; Until i>=M; j:=0; Repeat Inc(j); for i:=1 to M do V[i]:=A[i,j]; if Test_Zero(V,M) then begin for k:=j+1 to N do for i:=1 to M do A[i,k-1]:=A[i,k]; Dec(N); end; Until j>=N; for i:=1 to M do begin for j:=1 to N do Write(A[i,j]:4); Writeln; end; Readln End. |
|
29.05.2014, 18:03 | #3 (permalink) |
Новичок
Регистрация: 21.05.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Cпасибо за код.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|