IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
Closed Topic Открыть новую тему 
> работа с массивами, максимальный среди минимальных по строкам
mithquessir
сообщение 19.11.2004 17:44
Сообщение #1


Гость






Помогите, пожалуйста, решить задачу:

Цитата
В массиве X(N,M) все числа различны, в каждой строке выбирается минимальный элемент,

затем среди этих чисел выбирается максимальный. Напечатать номер строки массива X, в котором он расположен.


Бьюсь уже несколько дней, но ничего не получается.
Идея такова: сканируется первая и находится минимальный элемент. Когда начинает сканироваться новая строка, проверяется max < min и в t заносится номер строки. А почему же не работает?

Код
var
 x: array[1..3,1..3] of integer;
 i,j,k,n,t,max,min:integer;
begin
 k := 1;
 t := 0;
 n := 1;
 x[1,1] := 1;
 x[1,2] := 2;
 x[1,3] := 3;
 x[2,1] := 4;
 x[2,2] := 5;
 x[2,3] := 6;
 x[3,1] := 7;
 x[3,2] := 8;
 x[3,3] := 9;
 min := x[1,1];

 for i := 1 to 3 do
 for j := 1 to 3 do
 begin
   if k < i then
   begin
     if x[i,j] < min
     then min := x[i,j];
     if n = 1 then
     begin
       max := min;
       n := 0;
     end;
     if max < min then
     begin
       max := min;
       t := i;
     end;
     inc(k);
     min := x[i,j];
   end
   else
   begin
     if x[i,j] < min
     then min := x[i,j];
   end;
 end;
 WriteLn(t);
end.


Сообщение отредактировано: мисс_граффити - 13.06.2007 10:11
 К началу страницы 
+ Ответить 
volvo
сообщение 19.11.2004 18:05
Сообщение #2


Гость






Вообще-то эта задача решается так:

const
 nRow = 3; nCol = 3;
 x: array[1 .. nRow, 1 .. nCol] of integer =
   ((7, 8, 9), (4, 5, 6), (1, 2, 3));

var i, j: integer;
 max_ix, max, min: integer;
begin
 max_ix := 1; max := -maxInt;

 for i := 1 to nRow do
   begin
     min := x[i, 1];
     for j := 1 to nCol do
       if x[i, j] > min then min := x[i, j];

     if max < min then
       begin
         max := min; max_ix := i;
       end;
   end;
 writeln(max_ix);
end.


Цитата
Когда начинает сканироваться новая строка, проверяется max < min и в t заносится номер строки.
Нет, не когда начинает сканировалься, а после нахождения в ней MIN... И кроме этого, сам MAX тоже нужно запоминать для последующих сравнений ;)

Сообщение отредактировано: volvo - 4.11.2010 12:18
 К началу страницы 
+ Ответить 
mithquessir
сообщение 19.11.2004 18:23
Сообщение #3


Гость






Спасибо большое, а как решается такая задача:

Цитата
Ввести число "n" и заполнить двухмерныый массив размером n * n натуральными числами до n * n  до по спирали
?
 К началу страницы 
+ Ответить 
Altair
сообщение 19.11.2004 18:29
Сообщение #4


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Такое есть в FAQ'e, а я сейчас СУПЕР ЗОЛ (и прежде всего на себя) поэтому если тема не будет в течении 5 минут переименованна, то она будет закрыта!!! angry.gif angry.gif angry.gif
(это называется попасть под горячую руку админа)


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 19.11.2004 18:30
Сообщение #5


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


ЗЫ:! angry.gif
А поскольку она не может быть редактированна в виду того, что созданна гостем, то она закрыта!
Извините и читайте правила! rolleyes.gif


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 6:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"