• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите решить задачу

An4ik7689

Новые
Регистрация
6 Янв 2012
Сообщения
18
Реакции
0
Баллы
0
Помогите решить задачу

ДВУМЕРНЫЕ МАССИВЫ (МАТРИЦЫ). Паскаль.
Дана целочисленная квадратная матрица порядка n. Получить b1, b2,.... bn, где bi - это значение наименьшего положительного элемента i-й строки (если таких элементов нет, то принять bi =0).
 
это все до чего додумалась, но все равно работает не правильно.
Program P6; {Дана целочисленная квадратная матрица порядка n, Получить
b1,b2,...bn, где bi-это значение наименьшего положительного элемента
i-ой строки (если таких элементов нет , то принять bi=0) }
uses
crt;
const
n=4;

procedure RandomM(var M:array [0..n] of array [0..n] of integer);
var
i,j:integer;
begin
randomize;
for i:=0 to n do
for j:=0 to n do
M[j]:=random(10)-5;
end;

procedure OutM(M:array [0..n] of array [0..n] of integer);
var
i,j:integer;
begin
for i:=0 to n do begin
for j:=0 to n do
write(M[j]:4);
writeln;
end;
end;

var
M: array [0..n] of array [0..n] of integer;
A: array [0..n] of integer;
i,j,min:integer;
begin

RandomM(M);
OutM(M);

for i:=0 to n do begin
if M[0]>0 then
min:=M[0]
else
min:=0;
for j:=0 to n do
if (min>M[j]) and (M[j]>0) then begin
min:=M[j];
end;
A:=min ;
if min<=0 then min:=A;

end;

writeln('Ответ');
for i:=0 to n do
write(A:4);
End.


не знаю как ее доделать, помогите пожалуйста.
 
не знаю как ее доделать, помогите пожалуйста.
О, ужас - наворотили! А всего и надо-то, что:
Код:
Const
 N=4;
Var
 M:Array[0..N,0..N] of Integer;
 A:Array[0..N] of Integer;
 i,j:Byte;
Begin
 Randomize;
 For i:=0 to N do
  begin
   For j:=0 to N do
    begin
     M[i,j]:=4-Random(10);
     Write(M[i,j]:4);
    end;
   Writeln;
  end;
 Writeln;
 For i:=0 to N do
  begin
   A[i]:=10;
   For j:=0 to N do
    If (M[i,j]>0) and (M[i,j]<A[i]) then A[i]:=M[i,j];
   If A[i]=10 then A[i]:=0;
  end;
 For i:=0 to N do Write(A[i]:4);
 Readln;
End.
А процедуры тут, по-моему, без надобности, равно как и подключение модуля CRT - всё равно ведь ни одной команды его не используете, так зачем он Вам?
 
Поправил - привел систему обозначений и нумерации к Вашей.
 
О да то что нужно спасибо))
 
Назад
Сверху