0 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 7
1

Определить количество слов, которые начинаются с буквы "А" или "а"

16.12.2013, 00:01. Показов 1436. Ответов 9
Метки нет (Все метки)

Строчки!!!
Дано некоторый текст. Группы символов, которые разделены пробелами(одним или несколькими) и не содержат внутри себя пробелов, будем называть словами. Будем считать, что текст всегда начинается со слова. Определить количество слов, которые начинаются с буквы "А" или "а".
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2013, 00:01
Ответы с готовыми решениями:

Обработка строк. Определить количество слов, которые начинаются с буквы "a".
Дана непустая последовательность непустых слов из латинских букв, соседние слова отделены друг от...

Определить количество слов в заданном предложении, которые содержат 3 буквы "е"
В заданном предложении, где слова состоят из латинских букв, слова отделяются пробелами, за...

Составить фразу "текстовый редактор" из слов "тесто", "редакция", "мотор", "который"
1) Составить фразу "текстовый редактор" из слов "тесто", "редакция", "мотор", "который".

Составить фразу "программное обеспечение" из слов "программист", "оборот", "анчоус", "измерение"
Составить фразу "программное обеспечение" из слов "программист", "оборот", "анчоус",...

9
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
16.12.2013, 17:03 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Var numA : Longint;
Function GetFirstWord (SS : String) : String;
Var S : String;
Begin
  S:=SS;
  While S[1]=' ' do Delete(S,1,1);
  If Length(S)>0 then
    If Pos(' ',S)=0 then GetFirstWord:=S
    else GetFirstWord:=Copy(S,1,Pos(' ',S)-1)
  else GetFirstWord:='';
End;
 
Procedure CalcWords(CC : String);
Var C : String;
Begin
  C:=CC;
  If Length(C)>0 then
  Begin
    Case GetFirstWord(C)[1] of
      'a','A','а','А' : Inc(numA);
    End;
    Delete(C,1,Pos(GetFirstWord(C),C)+Length(GetFirstWord(C)));
    CalcWords(C);
  End;
End;
 
Begin
   numA:=0;
   CalcWords('    it"s testing a string for acheck work apascode ');
   Writeln(numA);
End.
Добавлено через 1 минуту
Код собрал из частей предыдущих своих наработок, поэтому может оказаться частями "излишен"... т.е. для оптимизации кода еще есть где развернуться.
1
0 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 7
17.12.2013, 11:42  [ТС] 3
Препод говорит, что так можно, это правильно, но я такой вариант не приму.
0
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
17.12.2013, 11:52 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Сейчас сделаем простой вариант...

Добавлено через 8 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Const
  AA : Set of Char = ['a','A','а','А'];
Var 
  numA : Longint;
  S    : String;
  i    : Byte;
 
Begin
   numA:=0;
   S:='a it"s testing a staring for acheck work apascode ';
   
   s:=' '+s;
   For i:=1 to Length(S) do
     If (S[i] in AA) and (S[i-1]=' ') then Inc(numA);
   Writeln(numA);
End.
1
0 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 7
17.12.2013, 12:04  [ТС] 5
Алексей, сколько вы еще здесь будете?
0
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
17.12.2013, 12:19 6
в 13.00 по мск уйду на обед до 14.00
я как бы на работе, если ничем не занят, то я тут.
1
Фиговый студент
48 / 6 / 7
Регистрация: 26.09.2013
Сообщений: 550
Записей в блоге: 1
17.12.2013, 13:40 7
Почему она ничего не выводит? И что вы делали в каждой строчке?
0
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
17.12.2013, 14:49 8
Цитата Сообщение от terassa94 Посмотреть сообщение
Почему она ничего не выводит? И что вы делали в каждой строчке?
Что значит не выводит?
Она выводит согласно условию:
Определить количество слов, которые начинаются с буквы "А" или "а".
Можете немного модернизировать 15-ую строку:
Вместо Writeln(numA);
написать
Writeln('Таких слов: ',numM);Readln;

Программа будет ждать нажатия ENTER, чтобы Вы успели увидеть результат.

И что вы делали в каждой строчке?
Если Вам нужны основы - рекомендую почитать любой учебник/самоучитель. Если не понимаете какой то конкретный момент - готов объяснить.
1
Фиговый студент
48 / 6 / 7
Регистрация: 26.09.2013
Сообщений: 550
Записей в блоге: 1
18.12.2013, 17:17 9
Цитата Сообщение от APALoff Посмотреть сообщение
S:='a it"s testing a staring for acheck work apascode ';
Что это значит?
0
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
18.12.2013, 17:22 10
Цитата Сообщение от terassa94 Посмотреть сообщение
Что это значит?
Начально значение строковой переменной S. Может быть любым. Если нужен ручной ввод - заменить на: Readln(S);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2013, 17:22
Помогаю со студенческими работами здесь

Составить фразу "письменный стол" из слов "тесненный", "полка", "речь", "миф".
1) Составить фразу "письменный стол" из слов "тесненный", "полка", "речь", "миф". 2) Вывести...

Строки. Посчитать количество слов, начинающихся на "к" и содержащих 2 буквы "а"
Помогите пожалуйста срочно Пользователь вводит с клавиатуры слова через запятую. Посчитать и...

Подсчитать количество предложений в строке, чтобы они начинались с заглавной буквы и заканчивались"." "?" "!"
Буду очень благодарен

Распечатать все слова, в состав которых входят буквы "a", "o" или "и"
Дана строка символов. Группу символов, разделенную с одной или обеих сторон одним или несколькими...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru