СЛ
Светочка Лебедева

Задача на Pascal, подскажите хоть как начать или как написать...

Составить алгоритм решения следующей задачи на компьютере:
Задано N<=100 и массив A длиной N элементов. С клавиатуры вводятся целые ненулевые числа в количестве, не превосходящем N. Признак конца ввода - значение 0. Первое введённое число записывается на место 1-го элемента массива A. Последующие вводимые числа помещаются на такие места в массиве, чтобы элементы массива в любом текущем состоянии были упорядочены по возрвстанию. Для этого введённые элементы массива могут перемещаться вправо или раздвигаться для размещения очередного элемента. Не допускается наличие незаполненных мест в массиве.

Екатерина
Екатерина

Начни с написания процедуры, которая будет двигать массив, начиная с заданного элемента. Потом допиши еще процедуру, которая при помощи первой будет вставлять элемент на НУЖНОЕ место. Остальное элементарно.

Вот тебе в подарок вторая процедура:

type TArray=array[1..100] of integer;
...

procedure InsertValue(var a:TArray; k, n:integer);
var j:integer;
begin
j:=1;
while (a[j]< k) and (j< =n) do //Без пробела перед =
inc(j);
ShiftArray(a,j); //Это вызов первой процедуры.
a[j]:=k;
end;

Vashington
Vashington

Впринцыпе тут можно сначало введи элементы в массив, а потом произвести сортировка, так будет проще.

А если вам на до именно так, то примерно вот:

type arr: array[1..1] of integer;
var A: ^arr; i,k,t,x: integer;
begin
writeln('Введите количество элементов в массиве '); read(k);
writeln('Введите 'элементы массива) ;
getMem(A,sizeof(integer)*k);
t:=1; i:=1;
while (t<>0) do
begin
read(t);
if i = 1 then A[ i ] = t
else
begin
if t >= A[ i ] then
begin
x:=A[ i ];
A[ i ] := t;
A[ i+ 1]:=x;
end else
begin
x:=A[ i ];
A[ i ] := t;
A[ i - 1]:=x;
end;
end;
if i >= k then break;
inc(i);
end;
freeMem(A,sizeof(integer)*k);
end;

Вот пример, не очень маленькая вероятность что верно решил, код писал срузу тут и не думая))

Похожие вопросы
Задача по массивам в Pascal
Помогите написать решение задачи в Pascal ABC
Как составить задачу в PASCAL?
Задача по информатики PASCAL
Помогите пожалуйста написать задачи на "Pascal"? Хотя бы несколько.
Pascal-простейшая задача
Написать программу на Pascal. Олимпиадная задача по паскалю.
Помогите написать решение задачи на Pascal пожалуйста
С чего лучше начать жизнь программиста с С++ или PASCAL?
Задача в Pascal