|
#1
|
|||
|
|||
Округление
Есть динамический массив целых чисел. Вводится целое число. В случае если число не содержиться в массиве то округлить вводимое число до ближайшего целого числа в массиве (т. е. если массив [ 4, 8, 11, 15 ] и вводим значение 9 то должно округлиться до 8).
|
#2
|
||||
|
||||
Алгоритм таков:
1. Пробегаешь по массиву циклом, сравнивая данное число с каждым, имеющимся в массиве. 2. Если это число содержиться в массиве - делай что там тебе надо, если нет, то: 3. Заводишь две целые переменные - одна будет напр indx:integer; indx:=1; а вторая de:integer; de:=Abs(A[1]-N); где N - данное число, A - массив A[1] - первый элемент массива 4. Пробегаешь опять циклом по массиву начиная со второго элемента и сравниваешь, если Abs( A[i] - N ) < de то de:=Abs( A[i] - N ); indx:=i; где i - переменная цикла 5. После цикла пишешь N:=A[indx]; PS: кодь сам, т.к я сейчас немогу, надеюсь, объяснил достаточно подробно. Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#3
|
|||
|
|||
Большое спасибо
|