Самый громкий звук
Самый громкий звук на свете издает.. креветка.
Шум "слоя креветок" - единственный из всех естественных шумов, способный "ослепить" сонар подводной лодки, оглушив акустика сквозь наушники.
Уровень шума, производимого скопищем креветок, доходит до оглушительных 246 децибел. Даже с учетом того, что звук в воде распространяется быстрее, он приравнивается к 160 децибелам в воздухе - гораздо громче, чем шум при взлете реактивного самолета (140 дБ) или порог болевой чувствительности человека.
Источником шума являются триллионы креветок, одновременно щелкающие своей "негабаритной" клешней. Щелкающие креветки, представители разнообразных видов Alpheus и Synalpheus, встречаются в неглубоких водах тропиков и субтропиков.
<em>1. Современное решение</em>
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(10,-10,10); a.Println;
Swap(a[a.IndexMax],a[a.IndexMin]); a.Println;
end.
<u>Пример</u>
-4 4 5 9 8 -3 -10 -9 -2 -2
-4 4 5 -10 8 -3 9 -9 -2 -2
<em>2. Решение в стиле "ТурбоПаскаль 1983г."</em>
var
i,imax,imin:integer;
a:array[1..10] of integer;
begin
Randomize;
imax:=1;
imin:=1;
for i:=1 to 10 do begin
a[i]:=Random(21)-10;
Write(a[i],' ');
if a[i]<a[imin] then imin:=i
else
if a[i]>a[imax] then imax:=i
end;
Writeln;
i:=a[imax]; a[imax]:=a[imin]; a[imin]:=i;
for i:=1 to 10 do
Write(a[i],' ');
Writeln
end.
5. 22122
6. 12112
7. 12122
8. 12111
В таких заданиях легче начинать с конца.
Option Explicit
Sub laba9()
Dim N As Integer, a() As Integer, i As Byte, j As Byte, min As Integer, l1 As Integer, l2 As Integer
Dim b() As Integer
N = Val(InputBox("Введите размерность массива"))
ReDim a(N, N)
Sheets("Лист1").Select
Sheets("Лист1").Range("A1:Z26").Clear
For i = 1 To N
For j = 1 To N
a(i, j) = Rnd * 100
Cells(i, j) = a(i, j)
Next j
Next i
min = a(1, 1)
l1 = 1
l2 = 2
For i = 1 To N
For j = 1 To N
If a(i, j) < min Then
min = a(i, j)
l1 = i
l2 = j
End If
Next j
Next i
ReDim b(N - 1, N - 1)
For i = 1 To l1 - 1
For j = 1 To l2 - 1
b(i, j) = a(i, j)
Next j
For j = l2 + 1 To N
b(i, j - 1) = a(i, j)
Next j
Next i
For i = l1 + 1 To N
For j = 1 To l2 - 1
b(i - 1, j) = a(i, j)
Next j
For j = l2 + 1 To N
b(i - 1, j - 1) = a(i, j)
Next j
Next i
For i = 1 To N - 1
For j = 1 To N - 1
Cells(i + N + 2, j) = b(i, j)
Next j
Next i
End Sub