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]);
Const N = 10;
var i, max: integer;
a: array[1..N] of integer;
begin
max := 1;
writeln('Массив до: ');
for i := 1 to N do begin
a[i] := random(10);
write(a[i]:3);
if(a[i] > a[max]) then max := i;
end;
writeln(#10, 'Массив после: ');
for i := 1 to N do begin
if(a[i] > 1) and (a[i] < 4) then a[i] := a[max];
write(a[i]:3);
end;
writeln(#10, 'Максиммальный элемент: ', a[max], #10, 'Его индекс: ', max);
end.
Модифицированные данные с диаграммами в 1 лист
Есть специальные программы, которые позволяют передавать файлы. Одной из таких является программа BlueSoleil.