|
|
|
Обработка массива в Паскаль
|
|||
|---|---|---|---|
|
#18+
Добрый день! Дано задание: Дана последовательность целых чисел, за которой следует ноль. Определить какой из элементов максимальный или минимальный встречается в ней раньше. Чтобы вычислить, какой из элементов, максимальный или минимальный, встречается раньше, записал позиции максимального и минимального элемента в массиве в соответствующие переменные и затем уже произвожу сравнение этих позиций. С максимальным элементом все нормально, а вот значение минимального почему то всегда равно нулю, хотя такого элемента даже нет в массиве. Не подскажете, в чем ошибка? program L_2_Z_2; var mas : array[1..100] of integer; i, max, min, b, c : integer; begin randomize; for i := 1 to 20 do begin mas[i] := 1 + random(98); write(mas[i], ' ,'); end; begin max := mas[1]; for i := 1 to 100 do if max < mas[i] then begin max := mas[i]; b:= i; end; end; begin min := mas[1]; for i := 1 to 100 do if min > mas[i] then begin min := mas[i]; c := i; end; end; writeln(' ', 'Max = ', max, ' ','Min = ', min); if b < c then writeln('Znachenie Max ', max, ' vstretilos ranshe.') else writeln('Znachenie Min ', min, ' vstretilos ranshe.'); readln; end. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2013, 21:14 |
|
||
|
Обработка массива в Паскаль
|
|||
|---|---|---|---|
|
#18+
Вывел значение позиции минимального элемента массива (выдает ноль). Оно всегда равно 21, хотя всего массив состоит из 20 элементов. Получается, что при поиске минимального элемента процесс выходит за рамки заданного массива. Не подскажете, как сделать так, чтобы поиск минимального элемента происходил в пределах заданного массива? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2013, 21:21 |
|
||
|
Обработка массива в Паскаль
|
|||
|---|---|---|---|
|
#18+
Все, нашел ошибку. При поиске минимума и максимума нужно было ограничиться значениями от 1 до 20, а не до 100. Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2013, 21:37 |
|
||
|
Обработка массива в Паскаль
|
|||
|---|---|---|---|
|
#18+
alexander4321, Сорри. Обычно таких вещей не говорю, но щас реально улыбнуло. При чём тут рандомайз и рандом? Алгоритм: 1. Читаем число 2. Больше максимального - сохраняем как максимальное 3. Меньше минимального - сохраняем как минимальное 4. Не ноль - идём на команду 1 (цикл) Всё просто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2013, 21:59 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=56&tid=1341788]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 368ms |

| 0 / 0 |
