Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Элементарная задача

Автор: Makc 30.11.2010 2:15

Составить программу, определяющую большее из 5 введенных чисел :D

Автор: Client 30.11.2010 2:21

ввел, сравнил, ввел второе число - сравнил и так еще 3 раза smile.gif

Автор: Makc 30.11.2010 2:24

и с чем же превое сравнивать?

Автор: Krjuger 30.11.2010 2:33

Первое сравниваеш с нулевым,предварительно прировняв его к нулю.
а[0]=0 дальше в цикле проверяем a[0] a[i],если а[i]>a[0],то a[0]=a[i] ,если нет то проверяем со следующим,если есть отрицательные числа,то уточни как сравниваем.

Автор: -Павел- 30.11.2010 2:47

Цитата(Makc @ 29.11.2010 22:15) *

Составить программу, определяющую большее из 5 введенных чисел :D


Код

program iuiu;
uses crt;
type
vector=array[1..3] of real;
var
   x:vector;
   i,nom: integer;
   max:real;
begin
   writeln('X[',3,']:');
   writeln;
   for i:=1 to 3 do
       begin
            write('X[',i,']=>');
            read(x[i])
       end;
   max:=x[1];
   nom:=1;
   for i:=1 to 3 do
   if(max<x[i]) then begin
                    max:=x[i];
                    nom:=i
                    end;
   writeln('наиб. элемент= ',max,'[',nom,']');
end.

Автор: Client 30.11.2010 2:49

можно изначально макс элементу присвоить наименьшее (тут сам выбирай) число или в макс положить первое введенное число.

Автор: Makc 30.11.2010 2:49

мне бы как-то попроще) это левое)

Автор: Krjuger 30.11.2010 4:57

Человек в точности,написал,то что я тебе до этого написал вербально.Чуть чуть реализация изменена.И вообще парень, попробуй написать сам,если ошибешся, выложиш наработки и тебе помогут их поправить.За тебя и так сделали всю работу,а ты еще и придираешся.С таким подходом сложно будет.Уровень твоих знаний никто незнает,людям знающим достаточно сложно писать что либо ,как незнающий.В общем,я надеюсь,пока ты сам ничего не сделаеш,тебе помогать не станут.Либо иди в раздел платных задач и там тебе ее как угодно сделают с любыми пожеланиями.

Автор: Lapp 30.11.2010 13:26

Цитата(Krjuger @ 30.11.2010 0:57) *
Человек в точности,написал,то что я тебе до этого написал вербально.Чуть чуть реализация изменена.
Хм. Krjuger, ты уверен?
Давай, я тебе напомню, что ты написал..
Цитата(Krjuger @ 29.11.2010 22:33) *
Первое сравниваеш с нулевым,предварительно прировняв его к нулю.
а[0]=0 дальше в цикле проверяем a[0] a[i],если а[i]>a[0],то a[0]=a[i] ,если нет то проверяем со следующим,если есть отрицательные числа,то уточни как сравниваем.

А теперь проверь свой вербальный алгоритм для такого набора:
-1, -2, -3, -4, -5
Не кажется ли тебе, что что-то не так? ))

М
Макс, пожалуйста, переименуй тему (Правила Форума, п.4, и правила раздела Задачи, п.1), иначе она будет закрыта, а тебе будет назначен премод.



max:=1;
for i:=2 to 5 do if a[i]>a[max] then max:=i;
WriteLn(a[max]);

Автор: Krjuger 30.11.2010 18:34

Lapp,ты придираешся.

Цитата
если есть отрицательные числа,то уточни как сравниваем

Не зря я это написал.
Чем

max:=x[1];
nom:=1;
for i:=1 to 3 do
if(max<x[i]) then
begin
max:=x[i];
nom:=i;
end;


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

Автор: Lapp 1.12.2010 11:02

Цитата(Krjuger @ 30.11.2010 14:34) *
Lapp,ты придираешся.
Да? То есть, по твоему, разница между 0 и -1 недостаточно велика? blink.gif Ну, тогда я лучше промолчу..

Цитата
Единственное отличие от того, что я написал,это то,что он взял за начало не 0,а первый элемент и максимальное сделал отдельной переменной,а я предлагал,чтобы максимальное значение хранилось в том же массиве.
Сказал ты все правильно. Теперь дело за малым - подумать над этим )).

Цитата
И еще,если человеку не понятно как сделан,предложенный ранее вариант,то как думаеш поймет ли от твою реализацию......мне кажется нет)
То есть ты полагаешь, что если человек не понимает, что 2х2=4, то надо начать с объяснения, что 2х2=3 ?

Автор: Krjuger 1.12.2010 17:48

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

Цитата
то надо начать с объяснения, что 2х2=3

А вон тут можно поподробнее.Меня всегда интересовали "нетривиальные решения" smile.gif
Цитата
То есть ты полагаешь, что если человек не понимает......

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

Автор: Lapp 3.12.2010 8:14

Цитата(Krjuger @ 1.12.2010 13:48) *
Ты придираешся в том плане,что я уточнял,есть ли отрицательные коэффиценты,ради того,что предложенный мой вариант не выполняетя с ними корректно...Или ты и хотел услышать от меня,что он с отрицательными работать не будет,то я признаюсь и раскаиваюсь,ибо он рабоать не будет.

А вон тут можно поподробнее.Меня всегда интересовали "нетривиальные решения" smile.gif

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

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

В последнее время от тебя на форум поступило довольно много постов. В большинстве их ты стараешься показать себя, как знающий программист - но только в основном ТОНОМ, ИНТОНАЦИЯМИ. По смыслу же, в твоих сообщениях либо вода, либо ошибки. И никакого намека на то, что ты можешь быть не прав (кроме подписи).

Я не против ошибок - для того и форум. Но когда я вижу твои советы новичкам в безапелляционном тоне - тут хоть стой, хоть падай. Я предпочитаю уже просто отойти в сторонку и проигнорировать. Либо просто разговор в стиле "старого и мудрого" о том, о чем ты и понятия не имеешь. Яркий пример: долгие рассуждения про обновление программы лекционного курса - а потом выясняется, что ты де имел в виду мат.анализ (который существует в своем нынешнем виде уже века полтора), лекции по которому не обновлялись 2 (аж два!!) года. Ну, я похохотал, конечно, хотел вставить тебе, чтоб не лез, если не понимаешь - но махнул рукой. Безнадежно! sad.gif

Тебе нравится, когда тебя считают безнадежным? Тебе этого хочется?

Если НЕТ, то советую тебе (как ученику) - а) научись признавать свои ошибки без лишних споров; б) не лезть в каждую бочку затычкой; в) добавлять (явно), что написанное - это только твои предположения. Поверь, я не со зла это делаю. Это тебе правда будет очень полезно. Я не хочу продолжать считать тебя безнадежным.

Искренне желаю тебе успехов.

По поводу конкретно ответа на твой предыдущий пост - думаю, он не очень нужен. Ты перечитай тред, и все поймешь сам (надеюсь). Что не поймешь - запомни, поймешь потом. Я жевать вторично не буду, не корова )).

2 volvo: Володь, я рекомендую снять ему премод.. так сказать, "в самый последний раз". Но это только рекомендация, решай сам.

2 Krjuger: если volvo согласится и снимет премод, я тебя предупреждаю: БОЛЬШЕ я за тебя вступатся не буду! Ты учишься? Вот, и учись на ошибках. Как все.

Тут мне, пожалуйста, не отвечай (ну, максимум пару слов). Хватит флудить. Да и тема все равно будет закрыта.. Ответ не требуется. Понял ли ты - будет видно по твоим постам..
Всего тебе наилучшего от всей души.