• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Программа с символьными данными

  • Автор темы Автор темы SunHab
  • Дата начала Дата начала

SunHab

Ученик
Регистрация
28 Апр 2014
Сообщения
7
Реакции
0
Баллы
0
Программа с символьными данными

Добрый день! Нужна помощь в написании программы для Pascal ABC
задача звучит так:
[FONT=&quot]Программа, отделяющая из введенной строки символов отдельные[/FONT]
[FONT=&quot]слова (пробел - символ-разделитель) и выводящую их перечень.[/FONT]
[FONT=&quot]Заранее спасибо!
[/FONT]
 
Добрый день! Нужна помощь в написании программы для Pascal ABC
задача звучит так:
[FONT=&quot]Программа, отделяющая из введенной строки символов отдельные[/FONT]
[FONT=&quot]слова (пробел - символ-разделитель) и выводящую их перечень.[/FONT]
[FONT=&quot]Заранее спасибо!
[/FONT]
Легко. Правда, это для НОРМАЛЬНОГО Паскаля, а не АВС, так что уж сами поправьте, если что.
Код:
Var
 S:string;
 i,N:integer;
 W:Array[1..128] of String;

Begin
 writeln('Enter the string: ');
 readln(S);
 N:=1;
 i:=0;
 Repeat
  Inc(i);
  W[N]:='';
  While (S[i]<>' ') and (i<=Length(S)) do
   begin
    W[N]:=W[N]+S[i];
    Inc(i);
   end;
  If S[i]=' ' then Inc(N);
 Until i>=Length(S);

 For i:=1 to N do Writeln(W[i]);
 Readln
End.
 
Легко. Правда, это для НОРМАЛЬНОГО Паскаля, а не АВС, так что уж сами поправьте, если что.
Код:
Var
 S:string;
 i,N:integer;
 W:Array[1..128] of String;

Begin
 writeln('Enter the string: ');
 readln(S);
 N:=1;
 i:=0;
 Repeat
  Inc(i);
  W[N]:='';
  While (S[i]<>' ') and (i<=Length(S)) do
   begin
    W[N]:=W[N]+S[i];
    Inc(i);
   end;
  If S[i]=' ' then Inc(N);
 Until i>=Length(S);

 For i:=1 to N do Writeln(W[i]);
 Readln
End.
Выдает ошибку:"Ошибка времени выполнения: Индекс находился вне границ массива" Что делать?
 
Выдает ошибку:"Ошибка времени выполнения: Индекс находился вне границ массива" Что делать?
Не знаю. У меня, естественно, работает исправно. Какую строку вводите?
И да, вроде этот идиотский АВС не любит открытых строк. Попробуйте поставить, например
S:String[200];
W:Array[1..10] of String[10];
Может быть, так сожрет?
 
Назад
Сверху