Семен -.
5 сообщений
#16 лет назад
По основам алгоритмизации задали задачку, даны 10 чисел, расположить их по возрастанию. Не могу решить, записал в массив, дальше не идет, мозг кипит(( Помогите, хотябы на примере PHP, а лучше словами объясните как реализовать
Михаил В.
2195 сообщений
#16 лет назад
А вы погуглите по словосочетанию "метод пузырька".
Максим В.
731 сообщение
#16 лет назад
Ищите самый большой элемент и меняете его с первым, потом ищите самый большой элемент начиная со второго...меняете со вторым...и так далее до длины массива. Самый тормозной способ, но тем не менее достаточно легко понимаем.

Самые большие всплывают к началу, маленькие тонут...можно и наоборот...что логичнее
Семен -.
5 сообщений
#16 лет назад
Sir_Michael, да знаю читал уже, не понял малость..
VeMax ок, спс
Болатов А.
1090 сообщений
#16 лет назад
Мда. Даже расстрелы не спасут эту цивилизацию.
Вадим Т.
3240 сообщений
#16 лет назад
В PHP все просто...

1. Все числа расположите в массиве $array.
2. Используйте функцию PHP sort($array, SORT_NUMERIC);
3. Конец.

Вот пример кода:

<?php
$array = array(1,3,5,7,9,2,24,13,15,11);
sort($array, SORT_NUMERIC);
print_r($array);
Михаил В.
2195 сообщений
#16 лет назад
tvv
я так понял, автору пример реализации алгоритма нужен, то есть сэмулировать работу sort циклом
Максим В.
731 сообщение
#16 лет назад
$size = count($arr)-1;
for ($i = $size; $i>=0; $i--) {


for ($j = 0; $j<=($i-1); $j++)


if ($arr>$arr) {


$k = $arr;


$arr = $arr;


$arr = $k;


}
}
Вадим Т.
3240 сообщений
#16 лет назад
Цитата ("alibek"):
Мда. Даже расстрелы не спасут эту цивилизацию.

Да уж, куда катится этот мир! Один не знает при каких условиях идет термоядерный синтез (с), второй - не знает как массив отсортировать...
Семен -.
5 сообщений
#16 лет назад
VeMax спс
tvv, alibek да уж беспредел пошел
Вадим Т.
3240 сообщений
#16 лет назад
Цитата ("Sir_Michael"):
tvv
я так понял, автору пример реализации алгоритма нужен, то есть сэмулировать работу sort циклом

А, да, действительно, прошу прощения. Автор же так и написал: "По основам алгоритмизации задали задачку".
Виталий К.
110 сообщений
#16 лет назад
А вообще, учиться самому надо. Стране и так рабочих рук не хватает...
Дмитрий Кислый
84 сообщения
#16 лет назад
Почитайте тут
algolist.ru
Юрий Осадчий
661 сообщение
#16 лет назад
Эх... а я даже в школе умел такое делать И думаю, я не исключение...
Дмитрий Войциховский
2128 сообщений
#16 лет назад
Хы ))) а поменять местами два значения не используя третьей ячейки/переменной помните?
только тоже через элементарные операции...
Вячеслав Чимишук
71 сообщение
#16 лет назад


#include <stdio.h>

int main()
{
unsigned a = 45, b = 62;

a ^= b ^= a ^= b;

printf("Variant #1.\na = %d, b = %d\n", a, b);

a = a - b;
b = a + b;
a = b - a;

printf("Variant #2.\na = %d, b = %d\n", a, b);

return 0;
}
Максим И.
272 сообщения
#16 лет назад
b=b+a;
a=b-a;
b=b-a;
Виктор Т.
1036 сообщений
#16 лет назад
raznomir, помним)))
respect8, на википедии куча алгоритмов сортировки с подробным разбором.
Юрий Осадчий
661 сообщение
#16 лет назад
Цитата ("raznomir"):
Хы ))) а поменять местами два значения не используя третьей ячейки/переменной помните?
только тоже через элементарные операции...

А целые можно так:
<?php

$a = 123;
$b = 134;
echo "$a $b\n";
$a = $a ^ $b;
$b = $a ^ $b;
$a = $a ^ $b;
echo "$a $b\n";
Дмитрий Войциховский
2128 сообщений
#16 лет назад
Хм.. а если задачу посложнее?
Есть куб, надо сделать куб в два раза больше калькулятора нет, да и не даст он точное значение...
---------
Для примера: как построить отрезок корень с двух метров? Строим прямоугольный треугольник с катетами в единицу - гипотенуза получается корень с двух