Форум «Всё о Паскале» _ Задачи _ прога для работы с матрицами
Автор: NRG 27.11.2010 1:43
Пожалуйста помогите мне написать прогу на паскале
а)заменить заданным вектором столбцы матрицы В, не содержащие ни одного отрицательного элемента;
б)в полученной матрице найти сумму элементов строк с четными номерами, содержащих хотя бы один нулевой элемент.
Автор: sheka 27.11.2010 1:46
Не вопрос. А что помочь то?
Автор: NRG 27.11.2010 1:49
как начать ??? я просто не понимаю какие переменные нужны и как создать там матрицу
Автор: sheka 27.11.2010 1:58
Можно, например, так:
1) b: array[1..m,1..n]of integer; x: array[1..m] of integer i,j : integer; flag: boolean; 2) добавить еще s: integer;
Автор: NRG 27.11.2010 2:01
Цитата(sheka @ 26.11.2010 21:58)
Можно, например, так:
1) b: array[1..m,1..n]of integer; x: array[1..m] of integer i,j : integer; flag: boolean; 2) добавить еще s: integer;
у меня есть такая вот прога только я незнаю как сделать в ней чтобы можно было задавать матрицу самому ,и препод сказал что тут много лишнего только он несказал чего именно ))) CONST m=4; n=5; VAR B:ARRAY[1..m,1..n] of INTEGER; C,SUM:ARRAY[1..m] of INTEGER; Bul_1:ARRAY[1..n] of BOOLEAN; Bul_2:ARRAY[1..m] of BOOLEAN; i,j,p:INTEGER; BEGIN Randomize; WriteLn('Initial matrix:'); For i:=1 to m do begin for j:=1 to n do begin B[i,j]:=Random(100)-50; Write(B[i,j]:5); end; WriteLn; WriteLn('The prescribed vector:'); For i:=1 to m do begin SUM[i]:=0; C[i]:=Random(10)-5; Write(C[i]:5); end; WriteLn; WriteLn('Press "Enter" to continue...'); ReadLn; For j:=1 to n do Bul_1[j]:=false; For j:=1 to n do For i:=1 to m do If B[i,j]<0 then Bul_1[j]:=true; WriteLn('Reformed matrix:'); For i:=1 to m do begin for j:=1 to n do begin If Bul_1[j] then B[i,j]:=C[i]; Write(B[i,j]:5); end; WriteLn; end; WriteLn; WriteLn('Press "Enter" to continue...'); ReadLn; For i:=1 to m do Bul_2[i]:=false; p:=0; For i:=1 to m do For j:=1 to n do If B[i,j]=0 then begin Bul_2[i]:=true; If (i mod 2)=0 then INC(p); end; For i:=1 to (m div 2) do If Bul_2[2*i] then begin for j:=1 to n do SUM[2*i]:=SUM[2*i]+B[2*i,j]; WriteLn('SUM[',2*i,']= ',SUM[2*i]); end; If p=0 then WriteLn('There are no even strings, containing zero elements'); ReadLn; END; END.
Автор: sheka 27.11.2010 2:04
Значит писал не сам. А зачем мне исправлять чужой код? Не вижу смысла.
ЗЫ: Используй, пожалуйста, теги.
Автор: NRG 27.11.2010 2:43
Цитата(sheka @ 26.11.2010 22:04)
Значит писал не сам. А зачем мне исправлять чужой код? Не вижу смысла.
ЗЫ: Используй, пожалуйста, теги.
да писал не сам .поэтому хочу написать свою но не догоняю как