для i от 1 до n выполнять

Sn = Sn + i

Программа:

$sn = 0;

echo “<BR>До какого числа суммировать:”;

// ввод $n

for ($i = 1; $i <= $n; $i++)

{

$sn += $i;

}

echo “<BR>Сумма чисел от 1 до $n равна $sn”;

3. Рассортировать элементы заданного случайным образом целочисленного вектора vector[n] методом обменной сортировки (пузырька):

 

// инициализация генератора случайных чисел:

mt_srand(time() + (double)microtime()*1000000);

echo "<BR>Введите нижнюю границу:";

// ввод $vector_min

echo "<BR>Введите верхнюю границу:";

// ввод $vector_max

echo "<BR>Введите размер вектора:";

// ввод $n

echo "<BR>Исходный вектор:<BR>";

// получение случайного числа в диапазоне

// от vector_min до vector_max

for ($i=0; $i < $n; $i++)

{

$vector[$i]=mt_rand($vector_min, $vector_max);

echo $vector[$i], ‘ ‘;

}

echo "<BR><BR>";

for ($m = $n-2; $m >= 0; $m--)

for ($i = 0; $i <= $m; $i++)

if ($vector[$i] > $vector[$i+1])

{

$temp = $vector[$i];

$vector[$i] = $vector[$i+1];

$vector[$i+1] = $temp;

}

echo "<BR>Отсортированный вектор:<BR>";

for ($i=0; $i < $n; $i++)

{

echo $vector[$i], ‘ ‘;

}

echo "<BR><BR>";

4. Рассортировать элементы заданного случайным образом целочисленного вектора vector[n] методом Шелла (обменная сортировка с убывающим шагом). В этом случае массив делится на группы по два элемента и производится сортировка в каждой группе: максимальный элемент ставится на второе место. После этого массив делится на группы по четыре элемента, и они снова сортируются. Количество элементов в сортируемой группе удваивается до тех пор, пока не остается одна группа, включающая все элементы массива, которая и сортируется окончательно:

 

// инициализация генератора случайных чисел:

mt_srand(time() + (double)microtime()*1000000);

echo "<BR>Введите нижнюю границу:";

// ввод $vector_min

echo "<BR>Введите верхнюю границу:";

// ввод $vector_max

echo "<BR>Введите размер вектора:";

// ввод $n

echo "<BR>Исходный вектор:<BR>";

// получение случайного числа в диапазоне

// от vector_min до vector_max

for ($i=0; $i < $n; $i++)

{

$vector[$i]=mt_rand($vector_min, $vector_max);

echo $vector[$i], ‘ ‘;

}

echo "<BR><BR>";

$i1 = $n-1;

while ($i1 >= 1)

{

$i1 /= 2;

$i2 = $n - $i1;

Do

{

$per = true;

for ($i = 0; $i <= $i2; $i++)

{

$i3 = $i + $i1;

if ($vector[$i] > $vector[$i3])

{

$temp = $vector[$i];

$vector[$i] = $vector[$i3];

$vector[$i3] = $temp;

$per = false;

} // if ($vector[$i] > $vector[$i3])

} // for ($i=0; $i<=$i2; $i++)

} // do

while (!per);

} // while ($i1>=1)

echo "<BR>Отсортированный вектор:<BR>";

for ($i=0; $i < $n; $i++)

{

echo $vector[$i], ‘ ‘;

}

echo "<BR><BR>";

 

 

 








Дата добавления: 2015-04-19; просмотров: 1078;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.