program laba;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var
a:array[1..15] of integer;
i,imax,x:integer;
begin
SetConsoleoutputCP(1251);
for i:=1 to 15 do
begin
writeln('Введите',i,'-й элемент');
readln(a[i]);
end;
imax:=1;
for i:=2 to 15 do
if a[i]>a[imax] then imax:=i;
x:=a[15];
writeln('максимальное число = ',a[imax],' его индекс= ',imax);
if imax=15 then write('Он последний, обмена нет');
else
begin
x:=a[imax];
a[imax]:=a[15];
a[15]:=x;
writeln('Обмен максимального и последнего:');
for i:=1 to 15 do
write(a[i]:6:3,' ');
end;
readln;
end.
Объяснение:
Sub Swap()
Dim r As Range, A As Variant
Dim i As Integer, im As Double, n As Integer, t As Double
n = 15
Set r = Range(Cells(1, 1), Cells(1, n))
A = r
im = 1
For i = 2 To n
If A(1, i) > A(1, im) Then
im = i
End If
Next i
t = A(1, im)
A(1, im) = A(1, n)
A(1, n) = t
Set r = Range(Cells(2, 1), Cells(2, n))
r = A
End Sub
На лист в ячейки А1 - О1 заносим исходные 15 чисел
На этот же лист через проект помещаем макрос и запускаем.
Результат будет в ячейках А2 - О2
Поделитесь своими знаниями, ответьте на вопрос:
решить задачи по информатике на языке паскаля: 1. Дан массив из 7 целых чисел, которые могут принимать значения от -1 до 50. Все элементы, кратные 3, замените на 0. Найдите количество элементов, равных 7. 2. Дан массив из 10 целых чисел, которые могут принимать значения от 0 до 70. Найти: 1) сумму элементов массива;
(см. объяснение)
Объяснение:
Первую программу пишу тебе твоим школьным языком. На примере второй программы я покажу тебе возможности Pascal, которые позволяют решить ее в 1 строчку кода.
Задание №1:
program task1;
var a: array [1..7] of integer;
i,k: integer;
begin
randomize;
k:= 0;
for i:= 1 to 7
do begin
a[i]:= random(50)-1;
if(a[i] mod 3 = 0) then a[i]:= 0
else if(a[i] = 7) then k:= k+1;
end;
write('Массив с замененными числами: ');
println(a);
writeln('Количество элементов, равных 7: ', k);
end.
Задание №2:
begin 'Сумма элементов массива: '.Concat(IntToStr(ArrRandom(10, 0, 70).Sum)).Print; end.