Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.06.2008, 10:36   #41
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

Код:
var
 s:string;
 i:longint;
begin
 readln(s);
 i:=0;
while pos('то',s)<>0 do
 begin
  inc(i);
  delete(s,pos('то',s),2);
 end;
 writeln(i);
end.
^_^
WOLFak вне форума
Старый 16.06.2008, 10:37   #42
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

Код:
Program Prog;

var 
  S : string[100];
  i : Integer;
  Count : Integer
begin
  ReadLn(S);
  i := 1;
  Count := 0;
  if (S[1] <> '.') then
    while (S[i + 1] <> '.') do
       if (S[i] = 'т') and (S[i + 1] = 'о')
         Count := Count + 1;
  WriteLn(Count);
end.
Вот вроде такая прога - не компилил, писал прямо тут)
Добавил:Писал пока не видел прошлый пост..Выбирай любую теперь=)
Olympian вне форума
Старый 16.06.2008, 10:43   #43
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

вроде так
Код:
var   
 s:string;   
 i:longint;   
begin   
 readln(s); 
 s[length(s)]:=' ';  
 insert(' ',s,1);
 i:=0;   
while pos(' то ',s)<>0 do   
 begin   
  inc(i);   
  delete(s,pos(' то ',s),4);   
 end;   
 writeln(i);   
end.
это не будет работать если вместо разделения слов будет использоваться не пробел а что либо еще
вот это должно вроде работать
Код:
var   
 s:string;   
 i:longint;   
begin   
 readln(s); 
for i:=1 to length(s) do
 if (not ord(s[i]) in [128..239]) then
  s[i]:=' '; 
 insert(' ',s,1);
 i:=0;   
while pos(' то ',s)<>0 do   
 begin   
  inc(i);   
  delete(s,pos(' то ',s),4);   
 end;   
 writeln(i);   
end.
^_^

Последний раз редактировалось WOLFak; 16.06.2008 в 11:32.
WOLFak вне форума
Старый 16.06.2008, 11:19   #44
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

Вау! Оперативно работаете, ребята! Только я не смог разобраться. А попроще нельзя записать...? А то я еще не проходил inc(i);и delete, и вот эта вещь, s[length(s)]:=' ' меня тоже напугала. Волосы дыбом встали.
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Старый 16.06.2008, 11:31   #45
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

так... вот полная версия и работающая
Код:
  
var      
 s:string;      
 i:longint;      
begin      
 readln(s);    
for i:=1 to length(s) do   
 if (not ord(s[i]) in [128..239]) then   
  s[i]:=' ';    
 insert(' ',s,1);   // вставка символа ' '  в s с 1 позиции
 i:=0;      
while pos(' то ',s)<>0 do      
 begin      
  inc(i);      // увеличивает i на 1
  delete(s,pos(' то ',s),3);     // удаляет из s 3 символа начиная с позиции слова ' то '
 end;      
 writeln(i);      
end.
s[length(s)]:=' ' - этой вещи тут уже нет)
^_^

Последний раз редактировалось WOLFak; 16.06.2008 в 11:40.
WOLFak вне форума
Старый 16.06.2008, 11:45   #46
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

Цитата:
for i:=1 to length(s) do
if (not ord(s[i]) in [128..239]) then
s[i]:=' ';
WOLFak, дай коментарий выше сказанному!
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Старый 16.06.2008, 11:50   #47
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

вот это все кроме букв превращает в пробелы)))
Код:
for i:=1 to length(s) do  // идет по всей длине строки
if (not ord(s[i]) in [128..239]) then {если код символа НЕ входит в э... отрезок от 128 до 239 то заменить этот символ пробелом
в этом отрезке находятся все русские буквы тоесть если этот символ не русская буква то его замен на пробел}
s[i]:=' ';
^_^
WOLFak вне форума
Старый 16.06.2008, 11:55   #48
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

И что у нас такое pos?
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Старый 16.06.2008, 11:59   #49
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

pos() это функция которая возвращает значение на какой позиции в строке находится данная подстрока иначе если ее там нету дает 0
пример
s='bla bla -bla';
pos(' ',s) будет равен 4
pos('d',s)=0
^_^
WOLFak вне форума
Старый 16.06.2008, 12:37   #50
veter_s_morya
ФорумчанинДжуниор
 
Аватар для veter_s_morya
 
Регистрация: 05.05.2008
Сообщений: 606
По умолчанию

вся проблемма состоит в том, что нам не читали еще лекцию по функциям и продцедурам! Нам читали ветвления, циклы и массивы! Задачка должна решаться проще!
------------------------------
Ум без разума –это беда!
veter_s_morya вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы в С\С++ Zahar11 Помощь студентам 4 31.05.2008 00:35
массивы ShenDy Общие вопросы C/C++ 4 17.04.2008 00:01
Массивы Snord Общие вопросы Delphi 2 12.04.2008 13:45