Задать вопрос
30 октября, 18:27

Паскаль. Ошибка: Индекс находился вне границ массива.

Выполняю задачу на счёт слов из двух букв.

Сама программа:

program ss;

var s:string;

var i, k:integer;

begin

k:=0;

readln (s) ;

s:=s+' ';

repeat i:=pos (' ', s) ;

if i>1

then if (s[i+1]' ') and (s[i+2]' ') and (s[i+3]=' ')

then k:=k+1;

delete (s, 1, i)

until s=' ';

writeln (k, 'slov') ;

readln;

end.

+4
Ответы (1)
  1. 30 октября, 18:47
    0
    Program ss;

    var

    s: string;

    i, k: integer;

    begin

    Readln (s) ;

    s : = s + ' '; k : = 0;

    repeat

    i : = pos (' ', s) ;

    if i = 3 then k : = k + 1;

    if i > 0 then delete (s, 1, i)

    until i = 0;

    Writeln (k, ' slov') ;

    Readln;

    end.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Паскаль. Ошибка: Индекс находился вне границ массива. Выполняю задачу на счёт слов из двух букв. Сама программа: program ss; var s:string; ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Сделать так чтобы Writeln был заменен другим словом и повторялься не больше двух раз program choise; var N_M:integer; writeln (' введи номер месяца ') ; readln (N_M) ; case N_M of 1:writeln (' январь ') ; 2:writeln (' февраль ') ;
Ответы (1)
Program mm; var o, oo, v, n, n1, q1, r1, y1:string; l, x, b, z, y, r, q:integer; begin v:='вычислить '; read (n) ; n1:=n; q:=pos (' + or - ', n) ; q1:=copy (n, 1, q-1) ; val (q1, x, r) ; Delete (n, 1, q) ; r:=pos (' - or + ', n) ;
Ответы (1)
Как сделать теперь без массива (паскале) ? var nm:array of integer; j, l:integer; begin nm: = new integer[3] (random (20), random (20), random (20)) ; writeln ('nm[0] = ', nm[0]) ; writeln ('nm[1] = ', nm[1]) ; writeln ('nm[2] = ', nm[2]) ;
Ответы (1)
Помогите! Когда я ввожу ответ на вопрос, оно не отвечает на него! Это Паскаль Program Programm; var n:string; a:integer; b:integer; c:integer; answer: integer; begin write ('Как вас зовут:') ; readln (n) ; writeln ('Привет, ', n,'!
Ответы (1)
Выдаёт ошибку: операнды имеют неприводимые типы. Где я ошиблась? (Программа написана на языке Pascal ABC) Program Home; Uses CRT; Var a: integer; b: real; Begin WriteLn ('Введите еденицу измереня: килограмм, миллиграмм, грамм, тонна, центнер') ;
Ответы (1)