<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=43162&amp;view=findpost&amp;p=282702</guid>
        <pubDate>Sat, 17 Jan 2004 10:35:22 +0000</pubDate>
        <title>Найти самое большое число из 50 данных</title>
        <link>https://forum.sources.ru/index.php?showtopic=43162&amp;view=findpost&amp;p=282702</link>
        <description><![CDATA[Some1: Обычно 50 чисел заданы в виде массива. Хотя это не обязательно. Возможно все 50 чисел вводятся с клавиатуры, и отображаются на экран.<br>
<br>
Чтобы найти наибольшее число из 50 данных мы должны сделать следующее:<br>
У нас будет отдельная переменная, в которой в конце концов будет самое большое число.<br>
Давайте назовём её <strong class='tag-b'>max</strong>.<br>
Так вот, предположим в самом начале её значение бесконечно маленькое. Ну просто мизерное %) Меньше чем любое число из 50. Ок? Как это сделать?<br>
Если все числа из 50 - целые, то у них есть какой либо тип, например <strong class='tag-b'>word</strong>, или <strong class='tag-b'>integer</strong>, или <strong class='tag-b'>longint</strong>.<br>
И тогда самым маленьким возможным числом будет <strong class='tag-b'>low(word)</strong> или <strong class='tag-b'>low(integer)</strong> ну и тому подобное.<br>
Если же у вас числа с плавающей запятой, то у них тип <strong class='tag-b'>real</strong>, <strong class='tag-b'>single</strong> или <strong class='tag-b'>double</strong>. Для таких чисел самое маленькое значение можно посмотреть в хелпе по этим типам Borland Pascal&#39;я (навести на тип и нажать <em class='tag-i'>ctrl+f1</em>).<br>
Вот.. справились с этой задачей. А теперь как? Ну а дальше если мы сравним по очереди со всеми 50 числами наше <strong class='tag-b'>max</strong>, то любое из этих чисел будет больше чем <strong class='tag-b'>max</strong>.<br>
  А давайте будем делать так: мы по очереди будем сравнивать каждое число из 50 с значением переменной <strong class='tag-b'>max</strong>, и если найдём число, которое больше чем <strong class='tag-b'>max</strong>, то сразу-же изменим значение <strong class='tag-b'>max</strong>, чтобы оно стало равно числу, которое мы нашли. И тогда если мы все по порядку числа сравним, то <strong class='tag-b'>max</strong> будет постепенно становиться всё больше и больше, по мере того, как нам на пути будут встречаться всё большие и большие числа, и в конце концов, когда мы закончим просмотр всех 50 чисел, то в результате получим в нашем <strong class='tag-b'>max</strong> самое большое число из 50.<br>
<br>
Пообдумайте это. Если не поняли, то прочтите опять.<br>
Далее я напишу реализацию этого на паскале.<br>
<strong class='tag-b'>Для случая, когда 50 чисел вводятся с клавиатуры, но не запоминаются в массив:</strong><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;v:integer; {Текущее введённое число}</div><div class="code_line">&nbsp;&nbsp;max:integer; {Наша переменная max}</div><div class="code_line">&nbsp;&nbsp;n:byte; {Это нам нужно для перебора 50 чисел}</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;max:=low(integer); {В начале у нас max настолько маленькое, насколько можно}</div><div class="code_line">&nbsp;&nbsp;for n:=1 to 50 do {Вот тут мы будем перебирать все 50 чисел по очереди}</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;write(&#39;Введите &#39;,n,&#39; число: &#39;); {Попросим ввести очередное число}</div><div class="code_line">&nbsp;&nbsp; &nbsp;readln(v); {Ввод числа с клавиатуры}</div><div class="code_line">&nbsp;&nbsp; &nbsp;if v&#62;max then max:=v; {Если число больше чем max, значит надо max сделать равным ему}</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;Самым большим из этих чисел было число &#39;,max); {Ну и всё. тут мы вывели его на экран}</div><div class="code_line">end.</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<strong class='tag-b'>Или для случая, когда числа заданы в массиве:</strong><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;a:array[1..50] of integer;</div><div class="code_line">&nbsp;&nbsp;max:integer; {Наша переменная max}</div><div class="code_line">&nbsp;&nbsp;n:byte; {Это нам нужно для перебора 50 чисел}</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;max:=low(integer); {В начале у нас max настолько маленькое, насколько можно}</div><div class="code_line">&nbsp;&nbsp;...</div><div class="code_line">&nbsp;&nbsp;тут должно идти заполнение элементов массива &quot;a&quot; с клавиатуры, или из файла,</div><div class="code_line">&nbsp;&nbsp;это как вам хочется.</div><div class="code_line">&nbsp;&nbsp;...</div><div class="code_line">&nbsp;&nbsp;for n:=1 to 50 do {Вот тут мы будем перебирать все 50 чисел по очереди}</div><div class="code_line">&nbsp;&nbsp; &nbsp;if a[n]&#62;max then max:=a[n]; {Если число больше чем max, значит надо max сделать равным ему}</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;Самым большим из этих чисел было число &#39;,max); {Ну и всё. тут мы вывели его на экран}</div><div class="code_line">end.</div></ol></div></div></div></div>]]></description>
        <author>Some1</author>
        <category>Pascal: Структуры данных</category>
      </item>
	
      </channel>
      </rss>
	