Пятница, 10.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

Задача на строки
resisterДата: Пятница, 12.12.2008, 23:55 | Сообщение # 1
Старый знакомый
Группа: Пользователи
Сообщений: 25
Репутация: 0
Замечания: 0%
Статус: Offline
В заданной строке слова разделены пробелами. Нужно записать программу которая бы подсчитала количество слов, начинающихся с буквы А, и напечатала их.
Часть с подсчетом слов я сделал.


:shubizsetisforuma:
 
AlexanderДата: Суббота, 13.12.2008, 20:10 | Сообщение # 2
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Напишите свой код с подсчётом, там его совсем чуть-чуть подправить надо(если вы правильный алгоритм выбрали).

Скажем дружно- нафиг нужно!
 
resisterДата: Суббота, 13.12.2008, 21:58 | Сообщение # 3
Старый знакомый
Группа: Пользователи
Сообщений: 25
Репутация: 0
Замечания: 0%
Статус: Offline
У меня вот так работало

Code

function kslov(s:string):integer;
    var
      i,k,l:integer;
       s2:string;
    begin
       s2:=' ';
       s:=copy(s2,1,1);
       l:=length(s);
       k:=0;
     for i:=1 to l do
      if s[i]=' ' then if s[i+1]='a' then k:=k+1;
kslov:=k+1;
end;


:shubizsetisforuma:

Сообщение отредактировал resister - Суббота, 13.12.2008, 21:58
 
SeqularДата: Суббота, 13.12.2008, 22:11 | Сообщение # 4
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
resister, Эм..
А что если:
1) Проверить первое слово на s[1]='A', если так, то inc(счетчик)
2) Искать фрагменты строки: ' a' или ' A'. Если нашли - то inc(счетчик) и стерли этот фрагмент... Пробегаем While-ом, с Pos-ом.


Поддерживаю также проект сообщество молодых сисадминов
 
AlexanderДата: Суббота, 13.12.2008, 22:23 | Сообщение # 5
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Code
s2:=' ';
s:=copy(s2,1,1);
l:=length(s);

Бред, этот код можно ещё и так записать:
Code
s2:=' ';
s:=' ';
l:=1;

Тут нужно с использованием функции Pos.
Т.е.
1) k:=Pos('A',s);
2) если s[k-1]=' ' или k=0, то i:=i+1 и {N:=Pos(' ',s), если N<>0 то WriteLn(Copy(s,k,N-k)); иначе WriteLn(Copy(s,k,Length(s)-k));
3) повторять с пункта 1 пока Pos не вернёт нуль.


Скажем дружно- нафиг нужно!
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;