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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2011, 17:53   #1
kuy
Форумчанин
 
Аватар для kuy
 
Регистрация: 05.09.2011
Сообщений: 109
Сообщение Работа с рядками

Здравствуйте, помогите пожалуйста написать код для Делфи такой задичи:
Определить среднее количество букв в словах строки S.
(на форуме найти не смог, если тема такая была уже, киньте ссылку пожалуйста)
kuy вне форума Ответить с цитированием
Старый 04.11.2011, 18:24   #2
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Делаеш цикл для ввода количества строк

Код:
for i:=1 to n do
потом цикл

Код:
for i:=1 to length(s);
где length(s) длина строки.

После сумируеш строки(себто их длина) и делиш их на количество строк.

По идее так.Могу ошибаться.

Ну и останется интерпретировать под лексику делфи.
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 05.11.2011, 02:12   #3
kuy
Форумчанин
 
Аватар для kuy
 
Регистрация: 05.09.2011
Сообщений: 109
Сообщение

Leshii, это чуть не то что мне нужно, так как строка одна и мне нужно среднее количество букв в словах строки(например:'good morning', ср. кол. букв 5.5)
Мои наробки:
Код:
program ser_kil_lit;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
 s:string;
 i,counter:integer;
begin
write('text:'); readln(s);
counter:=0;
while trim(s)>' ' do
begin
 s:=trim(s);
 s:=s+' ';
 inc(counter);
 delete(s,1,pos(' ',s));
end;


readln;
end.
Сдесь находится количество слов в строке, как я понимаю дальше нужно найти количество букв в строке и розделить на количество слов.. Вобщим мне нужен код чтобы подщитать все символы(буквы), кроме символов [' ','.',',',':',';','!','?']
kuy вне форума Ответить с цитированием
Старый 05.11.2011, 09:30   #4
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Вот как-то так можно..
Код:
  w:= 0;
  l:= 0;
  NewWord:= true;
  for i:=1 to Length(s) do
    if UpCase(s[i]) in ['A'..'Z'] then begin
      inc(l);
      if NewWord then begin
        inc(w);
        NewWord:= false
      end
    end
    else NewWord:= true;
  a:= l/w;
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по действиям над символьными рядками(Pascal) lermax Помощь студентам 0 19.04.2011 20:20
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00