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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2011, 15:45   #1
vitik
Пользователь
 
Регистрация: 07.01.2011
Сообщений: 33
По умолчанию минимал среди максимала

Дана целочисельная прямоугольная матрица.1,найти мин. елемент среди макс. прогу я попытался сделать
но

помогите разобраться можна ли в проге както сделать random чтоби матрицу не вводить вручную


как найти номер строки и столбца такого елемента

как удалить столбец в котором находиться максимальный елемент матрицы

program min max;

var a : array [1..100,1..100] of integer;
b : array [1..100] of integer;
i,j,n,m,min,max : integer;
begin

write('Êîëè÷åñòâî ñòðîê=');
readln(m);

write('Êîëè÷åñòâî ñòîëáöîâ â ñòðîêå=');
readln(n);


for i:=1 to m do
begin
writeln(i, '-àÿ ñòðîêà:');
for j:=1 to n do
begin
write(' ', j, '-ûé ñòîëáåö = ');
readln(a[i,j]);
end;
end;


for i:=1 to m do
begin
max:=a[i, 1];
for j:=2 to n do if a[i, j] > max then max := a[i, j];
b[i]:=max;
end;


min:=b[1];
for i:=2 to m do if b[i]<min then min:=b[i];


writeln('Îòâåò=',min);
readln;
end.
vitik вне форума Ответить с цитированием
Старый 10.01.2011, 15:53   #2
Shift_sk
Форумчанин
 
Регистрация: 20.11.2010
Сообщений: 221
По умолчанию

поиск минимального максимального в рандомной матрице!
Код:
var a:array[1..100,1..100] of integer;
    i,j,n,m,n1,n2,n3,n4,min,max:integer;
begin
read(n,m);
for i:=1 to n do
 for j:=1 to m do
  a[i,j]:=random(100);
  min:=a[1,1];
  max:=a[1,1];
for i:=1 to n do begin
for j:=1 to n do begin
 if a[i,j]<min then begin min:=a[i,j]; n1:=i; n2:=j; end;
 if a[i,j]>max then begin max:=a[i,j]; n3:=i; n4:=j; end;
 end;
 end;
 writeln(max,' - максимальный элемент',n1,'- номер строки',n2,'- номер столбика');
  writeln(min,' - минимальный элемент',n3,'- номер строки',n4,'- номер столбика');
  end.
www.bezperepl.at.ua
Код:
...
Shift_sk вне форума Ответить с цитированием
Старый 10.01.2011, 16:31   #3
vitik
Пользователь
 
Регистрация: 07.01.2011
Сообщений: 33
По умолчанию

тепер я понял как всилить рандом в матрицу но как найти минимальный среди максимальных?
vitik вне форума Ответить с цитированием
Старый 10.01.2011, 16:38   #4
Shift_sk
Форумчанин
 
Регистрация: 20.11.2010
Сообщений: 221
По умолчанию

я до сих пор не понел смысла фразы минимальный среди максимальных)????
www.bezperepl.at.ua
Код:
...
Shift_sk вне форума Ответить с цитированием
Старый 10.01.2011, 16:42   #5
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Сообщение от Shift_sk Посмотреть сообщение
я до сих пор не понел смысла фразы минимальный среди максимальных)????
Может ТС надо найти максимальные в столбцах, а потом среди них минимальный?
ТС мы не телепаты выражайтесь конкретней!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 10.01.2011, 16:45   #6
vitik
Пользователь
 
Регистрация: 07.01.2011
Сообщений: 33
По умолчанию

да точнее будет (найти минимальный елемент среди максимальных елементов СТРОК)
vitik вне форума Ответить с цитированием
Старый 10.01.2011, 17:33   #7
Shift_sk
Форумчанин
 
Регистрация: 20.11.2010
Сообщений: 221
По умолчанию

а так это легко!
Код:
for i:=1 to n do
begin
max:=a[i,1];
 for j:=1 to n do begin
if max>a[i,j] then max:=a[i,j];
end;
//создаем массив для максимальных элементов строк
s[i]:=max;
end;
mix:=s[1];
for i:=2 to n do 
if a[i]<min then min:=a[i];
вроде все. должно работать!
з.ы.это не программа а кусок от нее!
www.bezperepl.at.ua
Код:
...
Shift_sk вне форума Ответить с цитированием
Старый 10.01.2011, 18:19   #8
vitik
Пользователь
 
Регистрация: 07.01.2011
Сообщений: 33
По умолчанию

мне кажеться if s[i]<min then min:=s[i]; будет правильнее
vitik вне форума Ответить с цитированием
Старый 10.01.2011, 18:21   #9
vitik
Пользователь
 
Регистрация: 07.01.2011
Сообщений: 33
По умолчанию

read(n,m);

for i:=1 to n do

for j:=1 to m do

a[i,j]:=random(100);

min:=a[1,1];

max:=a[1,1];
for i:=1 to n do

begin

max:=a[i,1];

for j:=1 to n do begin

if max>a[i,j] then max:=a[i,j];

end;



s[i]:=max;

end;

max:=s[1];

for i:=2 to n do

if s[i]<min then min:=s[i];
writeln(min);
end.
vitik вне форума Ответить с цитированием
Старый 10.01.2011, 18:26   #10
Shift_sk
Форумчанин
 
Регистрация: 20.11.2010
Сообщений: 221
По умолчанию

ну да...я просто не посматрел какой там массив!
ну что работает теперь как надо?
www.bezperepl.at.ua
Код:
...
Shift_sk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбрать минимальное значение среди 5-ти цифр Polotenchik Общие вопросы Delphi 11 16.01.2012 21:48
Новички среди нас.... Вавел из ГМТУ Свободное общение 7 18.08.2009 19:30
Много ли геймеров среди присутсвующих? Alar Свободное общение 57 03.12.2008 18:34