dovgash2
?>

Выполнить сортировку одномерного массива а[20] случайных целых чисел по возрастанию методом шелла.вывести на экран все этапы сортировки. pascal abc. )

Информатика

Ответы

nrostovtseva142
С++
template< typename RandomAccessIterator, typename Compare >
void shell_sort( RandomAccessIterator first, RandomAccessIterator last, Compare comp )
{
for( typename std::iterator_traits< RandomAccessIterator >::difference_type d = ( last - first ) / 2; d != 0; d /= 2 )
for( RandomAccessIterator i = first + d; i != last; ++i )
for( RandomAccessIterator j = i; j - first >= d && comp( *j, *( j - d ) ); j -= d )
std::swap( *j, *( j - d ) );
}
ostapbender1111
N - количество чисел в последовательности, i - для организации цикла for, x - очередное число из последовательности
В начале задаем значение max = 0, потому что рассматриваем последовательность натуральных чисел ( 1 и больше), то есть первое же натуральное четное будет записано в max
В конце выводим ьфч только если он не равен нулю, тоесть в последовательности было натуральное четное число!
program z1;var n, i, x, max: integer;beginmax := 0;readln(n);for i := 1 to n dobegin   read(x);   if (x mod 2 = 0) and (x > max) then max := x;end;if max > 0 then writeln(max) else writeln ('Не таких чисел');end.
Голосова-Лобанов1555
Var a,b,c,d,x,y,h,minx,miny:real; i:integer;
begin
writeln('a, b, c, d:');
readln(a,b,c,d);
h:=0.2;
x:=0; y:=a*x*x*x+b*x*x+c*x+d;
writeln(x:2:1,' ',y:5:2);
minx:=0; miny:=y;
for i:=1 to round((2-0)/h)+1 do
 begin
 x:=x+h;
 y:=a*x*x*x+b*x*x+c*x+d;
 writeln(x:2:1,' ',y:5:2);
 if y<miny then begin minx:=x; miny:=y; end;
 end;
writeln('min = y(',minx:2:1,') = ',miny:5:2);
end.

Пример:
a, b, c, d:
3 2 -1 4
0.0  4.00
0.2  3.90
0.4  4.11
0.6  4.77
0.8  6.02
1.0  8.00
1.2 10.86
1.4 14.75
1.6 19.81
1.8 26.18
2.0 34.00
2.2 43.42
min = y(0.2) =  3.90

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Выполнить сортировку одномерного массива а[20] случайных целых чисел по возрастанию методом шелла.вывести на экран все этапы сортировки. pascal abc. )
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Валентинович133
Blekjek730
Андрееевич787
mail5
ecocheminnov437
pbttehnology
ksenia15-79
kokukhin
Chuhnin195107364
Stepanovich_Makarov
nunabat457
mbykovskiy
verkop9
lor005148
Natalya1895