Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 24.02.2013, 17:11   #1 (permalink)
grisha2207
Новичок
 
Регистрация: 24.02.2013
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль. String

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

program qwe;
vara,b,c:string;k,n,m,p:integer;
begin
readln(a);
k:=1;
while k<=length(a) do
if a[k]=' ' then insert('не',a,k+1) and (k:=k+2) else k:=k+1;
readln
end.

помогите пожалуйста что я сделал не так он мне пишет ошибку номер 5
grisha2207 вне форума   Ответить с цитированием

Старый 24.02.2013, 17:11
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Пожалуйста, просмотрите данные топики, скорее всего там будет решение вашего вопроса

Из С в Паскаль
Паскаль
Использование библиотечных функций string.h
Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Паскаль

Старый 24.02.2013, 17:15   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от grisha2207 Посмотреть сообщение
if a[k]=' ' then insert('не',a,k+1) and (k:=k+2) else k:=k+1;
Конструкция абсолютно невразумительная. К чему относится "and"? Как-то оно тут ни к селу, ни к городу. Что Вы пытались написать? Опишите алгоритм словами.
Vladimir_S вне форума   Ответить с цитированием
Старый 24.02.2013, 17:33   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

В общем, у меня получилось так (только, извините - без кириллицы, это уж Вы сами):
Код:
var
a,b,c:string;
k,n,m,p:integer;
begin
 writeln('Enter the string:');
 readln(a);
 k:=1;
 while k<=length(a) do
 if (a[k]=' ') and (a[k+1]<>' ') then
  begin
   insert('no ',a,k+1);
   k:=k+4;
  end
  else k:=k+1;
 writeln(a);
 readln
end.
Миниатюры
nc03.jpg  
Vladimir_S вне форума   Ответить с цитированием
Старый 24.02.2013, 17:34   #4 (permalink)
grisha2207
Новичок
 
Регистрация: 24.02.2013
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

если в строке(а) будет символ равный пробелу тогда вставить 'не' в строке (а)
на место k+1 и присвоить k:=k+2
grisha2207 вне форума   Ответить с цитированием
Старый 24.02.2013, 17:40   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Если в условном операторе при выполнении (или невыполнении) условия требуется выполнить более одной операции, то эти операции перечисляются подряд (с разделителем "точка с запятой", естественно) и вся группа заключается в операторные скобки "begin..end". А связка "and" тут вовсе ни при чем: она используется для совершенно другого.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 24.02.2013, 17:40   #6 (permalink)
grisha2207
Новичок
 
Регистрация: 24.02.2013
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Точно я забыл что and не используетcя после then спасибо за помощь
grisha2207 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:27.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.