вот я составляла на чертежник
Var
A: array [1..10] of integer;
min,i:integer;
begin
i:=1
while i<11 do
begin
readln(A[i]);
i:=i+1;
end;
i:=1;
n:=A[1];
repeat
if min>A[i] then
min:=A[i]
i:=i+1;
until I=10;
A[10]:=min;
end
1) клавиатура. Так же может служить и сканер в сочетании программы перевода граф. изображения в текстовый вид.В какой-то степени планшет с ПО распознавания рукописного текста.
2) мышь, сканер, планшет.
3) <span>знаки$×+=%?:/><</span>
Допустим в январе 31 день. Предположим что осадки это целые числа и число 0 свидетельствует об отсутствии осадков.
Вот функция возвращающая дни без осадков
<span><span>C#Выделить код</span><span>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<span> private int[] NetOsadkov(ref int[]Pogoda)
{
int[] error = {-1};
int[] PogodaBezOsadkov = { 0 };
List<int> osadki = new List<int>();
int NetOsadkov = 0;
if (Pogoda.Length < 31)
{
return error;
}
for (int i = 0; i < Pogoda.Length;i++ )
{
if (Pogoda[i] == NetOsadkov)
{
osadki.Add(i+1);
}
}
PogodaBezOsadkov = osadki.ToArray();
return PogodaBezOsadkov;
}</span></span></span>Проверяем..
<span><span>C#Выделить код</span><span>1
2
3
4
5
6
7
8
<span> int[] JanuaryWeather = {123,4535,756,45,0,67,22,3453,765,35,456,35,0,35,45,76,6,567,35,6543,0,35,456,58,467,4657,458,48,0,67,745};
string result = string.Empty;
foreach (int val in NetOsadkov(ref JanuaryWeather))
{
result += val.ToString() + ',';
}
MessageBox.Show(result+" "+"Января была погода без осадков")<span>;</span></span></span></span>
Const
m = 6;
n = 9;
type
R = record
sum: integer;
nom: integer
end;
vR = array[1..n] of R;
tm = array[1..m, 1..n] of integer;
function SumCol(a: tm; k: integer): integer;
{ Сумма элементов в k-м столбце (колонке) матрицы а }
var
i, s: integer;
begin
s := 0;
for i := 1 to m do
s := s + a[i, k];
SumCol := s
end;
procedure Swp(var a, b: R);
{ Меняет местами элементы a и b }
var
t: R;
begin
t := a; a := b; b := t
end;
procedure Shell(var a: vR);
{ сортировка методом Шелла по убыванию }
var
i, j, step: integer;
begin
step := n div 2;
while step > 0 do
begin
for j := n - step downto 1 do
begin
i := j;
while i <= n - step do
begin
if a[i].sum < a[i + step].sum then Swp(a[i], a[i + step]);
i := i + step
end
end;
step := step div 2
end
end;
var
a, c: tm;
b: vR;
i, j: integer;
begin
Randomize;
Writeln('*** Исходные элементы массива ***');
for i := 1 to m do
begin
for j := 1 to n do
begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end;
Writeln
end;
{ формируем вектор сумм по столбцам }
for j := 1 to n do
begin
b[j].sum := SumCol(a, j);
b[j].nom := j;
end;
{ сортируем полученный вектор по убыванию сумм }
Shell(b);
{ осуществляем перестановку во вспомогательный массив с}
for j := 1 to n do
for i := 1 to m do c[i, j] := a[i, b[j].nom];
{ копируем содержимое вспомогательного массива с в массив а }
Writeln('*** Результирующие элементы массива ***');
for i := 1 to m do
begin
for j := 1 to n do
begin
a[i, j] := c[i, j];
Write(a[i, j]:4)
end;
Writeln
end
end.
<em><u>Тестовое решение:</u></em>
*** Исходные элементы массива ***
-27 13 13 -15 8 27 28 -1 32
44 36 20 -39 45 -46 29 18 36
-14 -36 -5 35 36 -14 24 31 -19
-42 -34 -44 40 50 -21 -17 -30 37
-38 22 -46 9 -14 42 -10 1 30
41 -41 -21 21 39 -45 18 4 -3
*** Результирующие элементы массива ***
8 32 28 -15 -1 -27 13 27 13
45 36 29 -39 18 44 36 -46 20
36 -19 24 35 31 -14 -36 -14 -5
50 37 -17 40 -30 -42 -34 -21 -44
-14 30 -10 9 1 -38 22 42 -46
39 -3 18 21 4 41 -41 -45 -21