Решить задачи на языке программирования в Turbo Pascal: 1) Дан массив, состоящий из 10 чисел, значения могут быть от -100 до 100. Определить минимальное положительное число. 2) Дан массив, состоящий из 10 чисел. Найдите номера тех элементовв масива, которые наименее различаются.
program FindMinPositiveNumber; var arr: array[1..10] of integer; i, minPositive: integer; begin minPositive := 101; // инициализируем переменную значением, которое гарантированно больше любого элемента массива for i := 1 to 10 do begin write('Enter number ', i, ': '); readln(arr[i]); if (arr[i] > 0) and (arr[i] < minPositive) then minPositive := arr[i]; end; if minPositive = 101 then writeln('В массиве нет положительных чисел') else writeln('Минимальное положительное число в массиве: ', minPositive); readln; end.
2) Пример решения для второй задачи:
program FindClosestNumbers; var arr: array[1..10] of integer; i, j, minDiff, diff: integer; closestIndexes: array[1..2] of integer; begin // Заполнение массива for i := 1 to 10 do begin write('Enter number ', i, ': '); readln(arr[i]); end; minDiff := 101; // инициализируем переменную значением, которое гарантированно больше любого различия между элементами массива for i := 1 to 9 do begin for j := i+1 to 10 do begin diff := abs(arr[i] - arr[j]); // находим разницу между элементами if diff < minDiff then begin minDiff := diff; closestIndexes[1] := i; closestIndexes[2] := j; end; end; end; writeln('Наименее различающиеся элементы имеют индексы: ', closestIndexes[1], ' и ', closestIndexes[2]); readln; end.
Оба примера предполагают, что пользователь будет вводить значения для элементов массива во время исполнения программы.
1) Пример решения для первой задачи:
program FindMinPositiveNumber;var
arr: array[1..10] of integer;
i, minPositive: integer;
begin
minPositive := 101; // инициализируем переменную значением, которое гарантированно больше любого элемента массива
for i := 1 to 10 do
begin
write('Enter number ', i, ': ');
readln(arr[i]);
if (arr[i] > 0) and (arr[i] < minPositive) then
minPositive := arr[i];
end;
if minPositive = 101 then
writeln('В массиве нет положительных чисел')
else
writeln('Минимальное положительное число в массиве: ', minPositive);
readln;
end.
2) Пример решения для второй задачи:
program FindClosestNumbers;var
arr: array[1..10] of integer;
i, j, minDiff, diff: integer;
closestIndexes: array[1..2] of integer;
begin
// Заполнение массива
for i := 1 to 10 do
begin
write('Enter number ', i, ': ');
readln(arr[i]);
end;
minDiff := 101; // инициализируем переменную значением, которое гарантированно больше любого различия между элементами массива
for i := 1 to 9 do
begin
for j := i+1 to 10 do
begin
diff := abs(arr[i] - arr[j]); // находим разницу между элементами
if diff < minDiff then
begin
minDiff := diff;
closestIndexes[1] := i;
closestIndexes[2] := j;
end;
end;
end;
writeln('Наименее различающиеся элементы имеют индексы: ', closestIndexes[1], ' и ', closestIndexes[2]);
readln;
end.
Оба примера предполагают, что пользователь будет вводить значения для элементов массива во время исполнения программы.