Turbo Pascal, матрица, подсчет количества и замена

Ответить
w1Se
Сообщения: 1
Зарегистрирован: 27 май 2009, 19:39

Очень нужна помощь в написании такой программы:
Дана матрица. Если на главной диагонали больше половины элементов отрицательны, то все отрицательные элементы в матрице удвоить, в противном случае удвоить элементы только последней строки.
Сдать надо завтра, если не сдам то придется сдавать экзамен... препод толком не объяснил что да и как и вот вообще хз как делать, очень прошу вас помочь могу символично потом кинуть вам на мобилу например 20 рублей...
Я тут написал кое что(ну очень сыро и по мне так полный бред... может исправите там что то дополните...) вообщем очень прошу помогите!

Код: Выделить всё

program 108;
uses crt;
var
Matrix:array[1..5,1..5] of real;
i,j:integer;
Plus:real;
Minus:real;
BEGIN
clrscr;
j:=5;
i:=j;
Plus:=0;
Minus:=0;
for i:=1 to 5 do
Readln Matrix[i,j];
if matrix[i,i]<0 then Minus:=Minus+1
                 else Plus:=Plus+1;
if Minus>3 then
Begin
for i:=1 to 5 do
for j:=1 to 5 do
if Matrix[i,j]:=2*Matrix[i,j]
else
for j:=1 to 5 do
Matrix[5'j]:=2*Matrix[5,j]
end; end;
readkey;
end.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
так же есть еще написаная программа

Код: Выделить всё

Matr       :array[1..5,1..5]of shortint;
i,j        :integer;
S          :real;
F          :text;
BEGIN
clrscr;
randomize;
S:=0;
for i:=1 to 5 do
for j:=1 to 5 do
Matr[i,j]:=INTEGER(random($FF));
writeln('Исходная матрица*:');
for i:=1 to 5 do begin
writeln;
for j:=1 to 5 do begin
write(Matr[i,j]:5);
end;
end;
for i:=1 to 5 do
if Matr[i,i]<0 then s:=s+1;
if s<3 then begin
for i:=1 to 5 do Matr[5,i]:=Matr[5,i]*2
end
else for i:=1 to 5 do begin
for j:=1 to 5 do begin
if Matr[i,j]<0 then Matr[i,j]:=Matr[i,j]*2 end;end;
writeln;
writeln('Результат:');
for i:=1 to 5 do begin
writeln;
for j:=1 to 5 do write(Matr[i,j]:5);
end;
END.

Но проблема в том что, он удваивает не все элементы (ну или не все элементы строки) Вод я не знаю что надо исправить, возможно надо что то написать в текстовом файле и указать к нему доступ в программе? только как это делается не знаю... ну и что писать в самом текстовом файле тоже...
Ответить