Вопрос не тривиален
Чем могут отличаться алгоритмы?
- По быстродействию
- Требуемой внутренней и/или внешней памяти
- Сложности программирования
И это далеко не все.
А дальше мы должны исходить из нашего случая.
Если у нас мало памяти на устройстве или к ней медленный доступ (внешняя она) - алгоритм, который меньше ест память,
Если нам надо быстро посчитать, и есть ресурсы - максимально быстрый.
Если мы хотим что-то объяснить и сделать прозрачное программирование - максимально простой.
Нет "лучшего". Есть осознанный выбор лучшего в конкретном случае.
Сегодня это мой лучший ответ на этот вопрос.
var
a:array of integer;
i,n,min,max:integer;
begin
write('Введите размерность массива: '); readln(n);
setlength(a,n); dec(n);
write('Введите разброс значений (min max): '); readln(min,max);
writeln('Изначальный массив:');
for i:=0 to n do
a[i]:=random(max+abs(min)+1)+min;
write(a[i]:4);
if a[i]<0 then a[i]:=sqr(a[i]);
end;
writeln;
writeln('Изменённый массив:');
end.
Дублирую свой ответ!
Если сочли мой ответ подходящим, пометьте его как "лучший" !
Вопрос не тривиален
Чем могут отличаться алгоритмы?
- По быстродействию
- Требуемой внутренней и/или внешней памяти
- Сложности программирования
И это далеко не все.
А дальше мы должны исходить из нашего случая.
Если у нас мало памяти на устройстве или к ней медленный доступ (внешняя она) - алгоритм, который меньше ест память,
Если нам надо быстро посчитать, и есть ресурсы - максимально быстрый.
Если мы хотим что-то объяснить и сделать прозрачное программирование - максимально простой.
Нет "лучшего". Есть осознанный выбор лучшего в конкретном случае.
Сегодня это мой лучший ответ на этот вопрос.
var
a:array of integer;
i,n,min,max:integer;
begin
write('Введите размерность массива: '); readln(n);
setlength(a,n); dec(n);
write('Введите разброс значений (min max): '); readln(min,max);
writeln('Изначальный массив:');
for i:=0 to n do
begin
a[i]:=random(max+abs(min)+1)+min;
write(a[i]:4);
if a[i]<0 then a[i]:=sqr(a[i]);
end;
writeln;
writeln('Изменённый массив:');
for i:=0 to n do
write(a[i]:4);
end.
Дублирую свой ответ!
Если сочли мой ответ подходящим, пометьте его как "лучший" !