Не получается вызвать SetLength для операнда данного типа - Pascal
Формулировка задачи:
Листинг программы
- program Kursa4;
- uses crt;
- var X: array[1..10] of integer;
- n,i,j,z,y,m: integer;
- begin
- writeln('Enter n');{Длина массива}
- readln(n);
- SetLength(X,n); {Задаем длину массива}
- randomize;
- for i:=0 to n-1 do
- X[i]:=random(40)+1;{Заполняем массив}
- for i:=0 to n do {Упорядочиваем его по убыванию}
- for j:=i to n-1 do
- if X[i]<X[j] then
- begin
- z:=X[i];
- X[i]:=X[j];
- X[j]:=z;
- end;
- write('Array X: ');{Полученный массив}
- for i:=0 to n-1 do
- write (X[i]:4);
- writeln();
- writeln('Enter y');
- readln(y);
- m:= n-1;
- i := 0;
- while i <= m do
- if X[i] = y then
- begin
- for j := i to m - 2 do {удаляем}
- X[j] := X[j+2];
- m := m -2
- end else i := i + 1;
- write('Result: ');{Ответ}
- for i:= 0 to m do
- write(X[i]:4);
- readln;
- end.
Решение задачи: «Не получается вызвать SetLength для операнда данного типа»
textual
Листинг программы
- var x:array of integer;
- n,i,j,z,y: integer;
- begin
- write('ведите размер массива n');
- readln(n);
- randomize;
- setlength(x,n);
- for i:=0 to n-1 do
- x[i]:=random(40)+1;{Заполняем массив}
- for i:=0 to n-2 do {Упорядочиваем его по убыванию}
- for j:=i+1 to n-1 do
- if x[i]<x[j] then
- begin
- z:=x[i];
- x[i]:=x[j];
- x[j]:=z;
- end;
- write('Array X: ');{Полученный массив}
- for i:=0 to n-1 do
- write (x[i]:4);
- writeln;
- write('Enter y=');
- readln(y);
- i:=0;
- while i < n do
- if x[i] = y then
- begin
- for j := i to n - 2 do {удаляем}
- x[j] := x[j+1];
- n :=n-1
- end
- else i := i + 1;
- write('Result: ');{Ответ}
- for i:= 0 to n-1 do
- write(x[i]:4);
- end.
Объяснение кода листинга программы
- Объявление переменных:
x
: массив целых чисел (array of integer)n, i, j, z, y
: целые числа
- Ввод размера массива:
- Выводится сообщение
ведите размер массива n
- Считывается значение
n
с клавиатуры
- Выводится сообщение
- Заполнение массива случайными числами:
- Генерируются случайные значения для каждого элемента массива
x
- Генерируются случайные значения для каждого элемента массива
- Упорядочивание массива по убыванию:
- Применяется алгоритм сортировки, где каждый элемент сравнивается с другими и меняется, если необходимо, чтобы массив был упорядочен по убыванию
- Ввод значения
y
:- Выводится сообщение
Enter y=
- Считывается значение
y
с клавиатуры
- Выводится сообщение
- Удаление элемента из массива
x
с заданным значениемy
:- Происходит проверка каждого элемента массива на равенство значению
y
- Если значение
y
найдено, оно удаляется из массива путем сдвига всех элементов после удаленного элемента - Размер массива
n
уменьшается
- Происходит проверка каждого элемента массива на равенство значению
- Вывод результата:
- Выводится сообщение
Result:
за которым следует полученный массивx
после удаления элемента - Выводятся все элементы массива
x
в виде упорядоченной последовательности.
- Выводится сообщение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д