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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2012, 23:56   #1
BeaU
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 35
По умолчанию Не могу найти исходник pascal

В заданой линейной таблице на N-элементов найти 2 максимальных элемента.

Последний раз редактировалось BeaU; 05.02.2012 в 00:16.
BeaU вне форума Ответить с цитированием
Старый 05.02.2012, 10:12   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

А написать самому?
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 05.02.2012, 10:59   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
BeaU
Покажи как кодом вводишь таблицу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.02.2012, 14:25   #4
BeaU
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 35
По умолчанию

сама не могу написать потому, что задачу только одну по паскалю сделать надо, а из-за нее не хочу паскаль устанавливать, и к тому же я его изучала 4 года назад, уже ничего не помню. Помогите, пожалуста, с программой=)

Код:
Program maximum;
Var
 Matrix:Array[1..3,1..3] of byte = (2,2,2,3,3,3,1,1,1);
 PP:Byte;
 X,Y:Byte;
Begin
 Writeln('До');
 For Y:=1 to 3 do
  Begin 
    For X:=1 to 3 do
     Write(Matrix[X,Y],' ');
    Writeln;
  End;
 PP := Matrix[1,1];
 For Y:=1 to 3 do
  For X:=1 to 3 do
   if Matrix[X,Y] > PP Then PP := Matrix[X,Y];
 Writeln('Mаксимум - ', PP);
  ReadLn;
End;
вот похожая задача, но мне надо найти 2 макс. элемента, и из n-ого количества элементов?

Последний раз редактировалось Stilet; 05.02.2012 в 14:47.
BeaU вне форума Ответить с цитированием
Старый 05.02.2012, 14:50   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ладно. Допустим.
Сделаю пару подсказок:
Код:
 {Находим максимум}
 for x:=1 to 9 do  if matrix[x]>max then max:=matrix[x];
 {Находим первые два максимума и выводим их и ихъ номера}
 two=2;
 for x:=1 to 9 do  begin
   if two=0 then break;
   if matrix[x]=max then begin writeln(x:5,matrix[x]:10); dec(two);end;
 end;
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.02.2012, 15:10   #6
BeaU
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 35
По умолчанию

мм.., если честно не поняла, я просто действительно давно паскаль изучала, на то время хорошо понимала, сейчас же полный ноль, та еще й учусь уже на заочной форме.
BeaU вне форума Ответить с цитированием
Старый 05.02.2012, 15:37   #7
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Вообще задача неоднозначна. Например массив ((1,2,3),(4,9,6),(9,8,7)). Под двумя максимальными можно понимать 9 и 9, а можно 9 и 8 (впринципе не логично, но если бы мой препод ставил задачу, то вполне могло бы быть). Для первого случая Stilet написал решение. Для второго мой вариант:

Код:
Begin
 Writeln('До');        // ?
 For Y:=1 to 3 do
  Begin
    For X:=1 to 3 do
     Write(Matrix[X,Y],' ');
    Writeln;
  End;
 max1:=Matrix[1,1];
 max2:=Matrix[1,1];
  For Y:=1 to 3 do
    For X:=1 to 3 do
      begin
        if Matrix[X,Y]>max1 Then
          begin
            max2:=max1;
            max1:=Matrix[X,Y];
          end;
        if (Matrix[X,Y]>max2)and(Matrix[X,Y]<>max1) Then
          max2:=Matrix[X,Y];
      end;
 Writeln('Mаксимум 1 - ',max1);
 Writeln('Mаксимум 2 - ',max2);
  ReadLn;
End.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 05.02.2012, 16:23   #8
BeaU
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 35
По умолчанию

Мне кажеться, что больше подходит первый вариант.
И я думаю, что массив должен быть задан уже в программе? или нет?
Помогите, пожалуйста с результатом, чтоб не было ошибок, не могу все в кучу собрать)

Код:
Program maximum;
Var
 Matrix:Array[1..3,1..3] of byte = (2,2,2,3,3,3,1,1,1);
 max1:Byte;
 max2:Byte;
 x:Byte;
Begin
for x:=1 to 9 do  
if matrix[x]>max then 
max:=matrix[x];
     Write(Matrix[x],' ');
    Writeln;
  End;
 max1:=Matrix[1,1];
 max2:=Matrix[1,1];
two=2;
 for x:=1 to 9 do  
begin
   if two=0 then break;
   if matrix[x]=max then 
begin 
writeln(x:5,matrix[x]:10); dec(two);
end;
 end;
 Writeln('Mаксимум 1 - ',max1);
 Writeln('Mаксимум 2 - ',max2);
  ReadLn;
End.

Последний раз редактировалось Stilet; 05.02.2012 в 16:44.
BeaU вне форума Ответить с цитированием
Старый 05.02.2012, 16:46   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
byte
Замени на integer
Цитата:
или нет?
Не имеет значения.
Цитата:
max1:Byte;
max2:Byte;
Так речь идет о двух разных максимумах?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.02.2012, 16:50   #10
BeaU
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 35
По умолчанию

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

Последний раз редактировалось BeaU; 05.02.2012 в 16:52.
BeaU вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку. Сума ряда (Pascal) spinogryz_ua Помощь студентам 2 31.01.2012 15:29
не могу найти ошибку (pascal) spinogryz_ua Помощь студентам 0 24.01.2012 20:40
Не могу найти исходник программы (которая требует логин и пароль для доступа) makar3000 Софт 0 01.12.2011 16:37
Не могу найти исходник программы (которая требует логин и пароль для доступа) makar3000 БД в Delphi 1 01.12.2011 03:11
Нигде не могу найти исходник проги для создания фоторобота CorruptSoul Свободное общение 2 11.03.2008 15:54