Анатольевич447
?>

Удалить 1 элемент из массива const n=10; var A: array [1..n] of integer; i, k: integer; begin writeln ('Ввод значений элементов массива:'); for i := 1 to n do read (a[i]); write ('Ввод индекса k: '); readln (k); for i := k to n-1 do A[i] := A[i+1]; writeln('Массив после обработки:'); for i := 1 to n-1 do write (A[i], ' ') end.

Информатика

Ответы

naromanova
Const
  Blanks = [' '];

function PosBlank(s: string; pn, pk: integer): integer;
{
  Ищет в строке s в позициях от pn до pk пробельный символ.
  Возвращает его позицию в строке или ноль, если таковой символ не найден.
  Использует подмножество пробельных символов Blanks, что позволяет определять
  произвольный набор пробельных символов (например, табуляцию и т.д.)
}
var
  p: integer;
  flag: boolean;

begin
  p := pn;
  flag := true;
  while flag and (p <= pk) do
  begin
    if s[p] in Blanks then flag := false
    else p := p + 1
  end;
  if p > pk then PosBlank := 0
  else PosBlank := p
end;

function PosNonBlank(s: string; pn, pk: integer): integer;
{
  Ищет в строке s в позициях от pn до pk непробельный символ.
  Возвращает его позицию в строке или ноль, если таковой символ не найден.
  Использует подмножество пробельных символов Blanks, что позволяет определять
  произвольный набор пробельных символов (например, табуляцию и т.д.)
}
var
  p: integer;
  flag: boolean;

begin
  p := pn;
  flag:=true;
  while flag and (p <= pk) do
  begin
    if s[p] in Blanks then p := p + 1
    else flag := false
  end;
  if p > pk then PosNonBlank := 0
  else PosNonBlank := p
end;

var
  s: string;
  i, l, k: integer;

begin
  Write('Введите строку: ');
  Readln(s);
  l := Length(s);
  k := 0;
  i := PosNonBlank(s, 1, l);
  while (i>0) and (i <= l) do
  begin
    k := k + 1;
    i := PosBlank(s, i + 1, l);
    if i = 0 then i := l + 1
    else i := PosNonBlank(s, i + 1, l)
  end;
  Writeln('Количество слов в строке равно ', k)
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Удалить 1 элемент из массива const n=10; var A: array [1..n] of integer; i, k: integer; begin writeln ('Ввод значений элементов массива:'); for i := 1 to n do read (a[i]); write ('Ввод индекса k: '); readln (k); for i := k to n-1 do A[i] := A[i+1]; writeln('Массив после обработки:'); for i := 1 to n-1 do write (A[i], ' ') end.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

AMR89154331531
Вячеслав
phmad7
djikia88
migreen
qadjiyevaaynura
ksyusatom19
katarinacorvus825
Алла14
Lvmadina
Исаченко Тераски1181
Анатольевич447
chulki-kupit
Petrovich
meteor90