Количество элементов равно разности между значениями верхнего и нижнего индекса, увеличенное на единицу.
<u><em>Ответ:</em></u> 2, 9, 20, 8, 24
1. Из-за ошибок программа не запустится.
- в блоке описания переменных отсутствует var
- clrscr не будет работать без подключенного модуля CRT. Да она и не особо нужна для решения этой задачи. Как и не нужен readln в предпоследней строке.
2. После устранения недостатков получим, что первый цикл:
Заполняет массив сл. значениями и выводит его на экран в одной строке.
for i:=1 to 10 do
begin
a[i]:=random(21)-10;
write(a[i]);
end;
3. Следующие строки кода делают реверс 1-ой половины массива:
//надо, чтобы a[1] стало a[5], a[5] стало a[1], a[2] cтало a[4], a[4] стало a[2],
//элемент a[3] не трогаем, так как он находится посередине и его не с кем менять
n:=0; //вспомогательная переменная, которая будет увеличиваться на 1 при //каждом выполнении тела цикла
for i:=1 to 2 do
begin
k:=a[i]; // в переменной k запоминаем значение a[i]
a[i]:=a[5-n]; // теперь a[i] = a[5-n]
a[5-n]:=k; // А элемент a[5-n] = бывшему значению a[i], которое сохранили в k
n:=n+1; //Для работы со следующей парой элементов увеличиваем n на 1
end;
4. За реверс второй половины отвечает этот код:
n:=0;
for i:=6 to 8 do
begin
k:=a[i];
a[i]:=a[10-n];
a[10-n]:=k;
n:=n+1;
end;
5. Ну и последний цикл выводит получившийся массив на экран:
for i:=1 to 10 do write(a[i]);
B=0k=0a=list(input("Введите число"))c=''a.reverse()for i in range(len(a)): c=str(c)+str(a[i])for i in range(len(a)): if int(a[i])%2==0: k+=1 else: b+=1print('Число четных цифр',k)print('Число нечетных цифр',b)print(c)
if M[a, 4+1-a] < M[min, min]
then min := M[a, 4+1-a]
- у тебя в матрице рандомные числа максимум до 10, ты назначаешь их в min и max, а потом эти min и max пытаешься использовать как индексы.
Заведи отдельные переменные для сохранения индексов, например imin и imax и пользуйся ими, например как-то так:
for a := 1 to 4 do
if M[a, 4+1-a] < M[imin, imin]
then begin
min := M[a, 4+1-a];
imin := a;
end
По поводу параметра цикла не уверен, возможно в Pascal.ABC есть какие-то особенности по сравнению с обычным паскалем. Нашел вот такое:
"Описание параметра цикла for в заголовке цикла соблюдает принцип локальности: переменная описывается в том месте, где она впервые понадобилась
begin
for i: integer := 1 to 9 do
write(i,' ');
// Здесь переменная i не доступна!
for var i := 9 downto 1 do // описание с автоопределением типа
write(i,' ');
end."