Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2009, 18:04   #1
Paul Oakenfold
Пользователь
 
Регистрация: 27.01.2009
Сообщений: 43
Счастье Массив

Задание:
Напиши программу формирования массива размером 5 х 5 с помощью датчика случайных чисел. Найдите и выведите на экран минимальные значение элементов для каждого столбца, а также исходного массива



Код:
program pr_10_1;
uses crt;
const nn=5;
      mm=5;
var m: array [1..nn,1..mm] of integer;
    k: array [1..mm] of integer;
    i,j,mmm: integer;

Procedure MaxVSt(k:integer; var max:integer);
var i:integer;
begin
 max:=m[1,k];
 for i:=1 to nn do
 if m[i,k]>=max
 then max:=m[i,k];
end;

Procedure MinVSt(k:integer; var min:integer);
var i:integer;
begin
 min:=m[1,k];
 for i:=1 to nn do
 if m[i,k]<=min
 then min:=m[i,k];
end;
begin
 clrscr;
 randomize;
 for i:=1 to nn do
 for j:=1 to mm do
 begin
 m[i,j]:=random(16);
 end;

 writeln('Massiv:');
 for i:=1 to nn do
 begin
  writeln;
  for j:=1 to mm do
  write(m[i,j]:2,' ');
 end;

 writeln;
 for i:=1 to mm do
 begin
  MinVst(i,mmm);
  writeln('#',i,' ',mmm);
 end;

 mmm:=m[1,1];
 for i:=1 to nn do
 for j:=1 to mm do
 if m[i,j]<=mmm
 then mmm:=m[i,j];
 writeln('Min = ',mmm);

 for i:=1 to mm do
 begin
  maxvst(i,mmm);
  k[i]:=mmm;
  write(k[i],' ');
 end;
 readln;
end.
Ребят помогите программу написать проще, без подпрограмм.
Paul Oakenfold вне форума Ответить с цитированием
Старый 24.04.2009, 19:31   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
uses crt;
const m=5; n=5;
var
mas : array[1..m,1..n] of integer;
i,j : integer;
minishi,minishj,min : integer;

begin
randomize;
for i:=1 to m do
 begin
 for j:=1 to n do
  begin
  mas[i,j] := random(20);
  write(mas[i,j]:4);
  end;
 writeln;
 end;
writeln;

minishi := 1;
minishj := 1;
for j:=1 to n do
 begin
 min := 1;
 writeln('Minimum stolbca ',j,': ');
 for i:=1 to m do
  if mas[i,j]<mas[min,j] then min := i;
 writeln('m[',min,',',j,']= ',mas[min,j]);
 if mas[min,j]<mas[minishi,minishj] then
  begin
  minishi := min;
  minishj := j;
  end;
 end;
writeln('Minimum vsej matricy: m[',minishi,',',minishj,']= ',mas[minishi,minishj]);

readkey;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06
Массив. С++ bloo[d] Помощь студентам 2 12.12.2007 23:30
массив Jodu Паскаль, Turbo Pascal, PascalABC.NET 11 01.11.2007 16:11
Массив vitalik007 Помощь студентам 15 17.10.2007 19:56
Массив Snake_ua Помощь студентам 2 15.10.2007 07:04