Назаров588
?>

Паскаль. дана строка, состоящая из слов, разделенных пробелами (одним или несколькими найти количество слов в строке.

Информатика

Ответы

Эвелина
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.
d5806252

ошибки в программе:

program primer - не хватает точки с запятой

var a,b: integer;

begin ; - не ошибка, необязательная точка с запятой

  readln( a,b); - не ошибка, лишний пробел после скобки, здесь и дальше не хватает пробелов между аргументами функций, знаками

  s=a+b; - не хватает двоеточия в : =

  m: =a*b;

  d: =a: b; - переменная d не была описана; деление - это /

  writeln(s);

  writeln(m);

  writeln(d)

end - не хватает точки.

 

исправленная программа:

program primer;

var a, b: integer;

  d: real;

begin

  readln(a, b);

  s : = a + b;

  m : = a * b;

  d : = a / b;

  writeln(s);

  writeln(m);

  writeln(d)

end.

Yelena1458
Const     n = 13; var     a: array[1..n] of integer;     i,max,min,s: integer; begin randomize; write('исходный массив a(',n,'): '); min: =1; max: =1; for i: = 1 to n do       begin       a[i]: =random(201)-100;       write(' ',a[i]);       if a[i]< a[min] then min: =i;       if a[i]> a[max] then max: =i;       s: =s+a[i];       end; writeln; writeln('min(a) = a[',min,'] = ',a[min]); writeln('max(a) = a[',max,'] = ',a[max]); writeln('среднее арифметическое элементов массива = ',s/n); write('новый массив: '); s: =a[min]; a[min]: =a[max]; a[max]: =s; for i: = 1 to n do       write(' ',a[i]) end. пример работы программы: исходный массив a(13): 60 -61 8 -60 58 -73 93 82 74 -35 89 -72 -44 min(a) = a[6] = -73 max(a) = a[7] = 93 среднее арифметическое элементов массива = 9.15384615384615 новый массив: 60 -61 8 -60 58 93 -73 82 74 -35 89 -72 -44

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

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

Паскаль. дана строка, состоящая из слов, разделенных пробелами (одним или несколькими найти количество слов в строке.
Ваше имя (никнейм)*
Email*
Комментарий*

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

Espivak
gelena03
misspodvigina
Валентинович133
baron
smokestylemos
Борисович409
di-bobkov1985
николаевич-Елена988
iivanovar-da
Коновалова
MikhailNechaeva
allo22-27
nst-33764