Тема: Паскаль
Показать сообщение отдельно
Старый 05.12.2012, 19:13   #14 (permalink)
лекси 1
Новичок
 
Регистрация: 29.11.2012
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Вот эта программа

изменила я только то что можно сейчас самой выбирать интервал. так вот, когда выбираешь маленькие числа к примеру от -3 до 12 то все работает правильно, а когда большие от -11 до 26 ,например, то появляется минус в произведении положительных чисел. что я уже только не меняла не получается ничего. Помогите пожалуйста!

Program Primer;
uses crt;
const
n=5;
var
M: array[1..n,1..n]of integer;
i,j,p,r,k, a,c :integer;
b:boolean;
begin
clrscr;
randomize;
writeln('Исходная матрица:’);
writeln;
write('Введите интервал [a,c]:’);
readln(a,c);
writeln;
for i:=1 to N do
begin
b:=true;
p:=1;
for j:=1 to N do
begin
M[i,j]:=random(c-a+1)+a;
if M[i,j]<0 then b:=false;
if b then P:=P*m[i,j];
write(m[i,j]:4);
end;
if b then writeln(p:15) ;
writeln;
end;
readkey;
writeln; writeln('Преобразованная матрица’);
writeln;
for j:=1 to n do begin
for k:=1 to n-2 do begin
for i:=k+2 to n do
if k mod 2 <> 0 then
if sqr(m[k,j]) < sqr(m[i,j])
then begin
r:=m[k,j];
m[k,j]:=m[i,j];
m[i,j]:=r;end; end;
end;
for i:=1 to n do begin
for j:=1 to n do write (m[i,j]:4);
writeln;end;
readkey;
End.
лекси 1 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070