Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 10.06.2013
Сообщений: 10
1
.NET 4.x

Подсчитать количество слов, которые начинаются с буквы f

12.06.2014, 14:19. Показов 1514. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
данная непустоя последовательность из латинских букв, между соседними словами - запятая, за последним словом точка. Посчитать количество слов, которые начинаются с буквы f
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2014, 14:19
Ответы с готовыми решениями:

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

Подсчитать количество слов, которые начинаются с буквы 'а'
дано предложение-строка. подсчитать количество слов ,которые начинаются с буквы 'а'

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

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

13
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
12.06.2014, 15:01 2
C#
1
2
3
4
5
6
7
8
int GetFWordCount(string s)
{
   int count = 0;
   for (int i = 0; i < s.Length && s[i] != '.'; i++)
      if (s[i] == ',' && s[i + 1] == 'f')
          ++count;
   return count;
}
0
0 / 0 / 1
Регистрация: 08.10.2012
Сообщений: 11
12.06.2014, 15:08 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Linq;
using System.Text;
 
namespace TestWord
{
    class Program
    {
        static void Main(string[] args)
        {
            string NashaStroka = "fara,fast,giga,from,nofr.";             // Например есть такая строка
            string[] VseSlovaOtdelno = NashaStroka.Split(',');            // Делаем из строки масив слов
            var Colichestvo                                               // Получаем количество слов, которые начинаются с "f"
                = VseSlovaOtdelno.Where(x => x.StartsWith("f")).Count();
            Console.WriteLine(Colichestvo);
 
            Console.ReadLine();
        }
    }
}
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
12.06.2014, 15:25 4
Tester junior, про точку забыли.

Добавлено через 6 минут
Ну и у себя косяк с внутренним условием заметил:
C#
1
if (s[i] == 'f' && (i == 0 || s[i - 1] == ','))
0
99 / 43 / 16
Регистрация: 25.10.2011
Сообщений: 246
12.06.2014, 15:48 5
C#
1
var cnt = stroka.Spli('f').Length;
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
12.06.2014, 17:15 6
Цитата Сообщение от Hermein Посмотреть сообщение
C#
1
var cnt = stroka.Spli('f').Length;
Код
fff,fff,fff.ff
Правильный ответ: 3.
0
99 / 43 / 16
Регистрация: 25.10.2011
Сообщений: 246
12.06.2014, 17:24 7
kolorotur, да, что-то я тупанул малость

C#
1
var cnt = new Regex(@"([^f]+).").Matches(sourcestring).Groups[1].Count;
ps: студии под рукой нет, так бы и прошлый пример поправил
0
584 / 371 / 63
Регистрация: 22.07.2009
Сообщений: 875
Записей в блоге: 4
18.06.2014, 13:45 8
Вот так будет правильно:
C#
1
Regex.Matches(s, @"\bf").Count;
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
18.06.2014, 13:57 9
Цитата Сообщение от sigmov Посмотреть сообщение
C#
1
Regex.Matches(s, @"\bf").Count;
fff,fff,fff.ff
Правильный ответ: 3.
1
Psilon
18.06.2014, 16:59
  #10

Не по теме:

kolorotur, так их, так их, любителей регулярок :D

0
kolorotur
18.06.2014, 17:03
  #11

Не по теме:

Psilon, "теперь у вас две проблемы", ага.

0
584 / 371 / 63
Регистрация: 22.07.2009
Сообщений: 875
Записей в блоге: 4
18.06.2014, 20:17 12
Цитата Сообщение от kolorotur Посмотреть сообщение
fff,fff,fff.ff
Правильный ответ: 3.
Это из-за пресловутой '.'?
C#
1
2
var idx = s.IndexOf('.');
var count = Regex.Matches(s.Substring(0, idx != -1 ? idx : s.Length), @"\bf").Count;

Не по теме:

Если уж в чужом глазу соринки изыскивать, то Ваш {s[i + 1]} вполне может выкинуть IndexOutOfRangeException если предложение оборвется на ','

0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
18.06.2014, 20:23 13
Tester junior, можно было и короче сделать
C#
1
var Colichestvo = VseSlovaOtdelno.Count(x => x.StartsWith("f"));
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
18.06.2014, 20:50 14
Цитата Сообщение от sigmov Посмотреть сообщение
Это из-за пресловутой '.'?
Ага, из-за нее.

Цитата Сообщение от sigmov Посмотреть сообщение
C#
1
2
var idx = s.IndexOf('.');
var count = Regex.Matches
А если мы уже дошли до точки, то зачем идти дважды?

Цитата Сообщение от sigmov Посмотреть сообщение
Если уж в чужом глазу соринки изыскивать, то Ваш {s[i + 1]} вполне может выкинуть IndexOutOfRangeException если предложение оборвется на ','
Это бревно я уже заприметил
Цитата Сообщение от kolorotur Посмотреть сообщение
Ну и у себя косяк с внутренним условием заметил:
C#
1
if (s[i] == 'f' && (i == 0 || s[i - 1] == ','))
0
18.06.2014, 20:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2014, 20:50
Помогаю со студенческими работами здесь

Подсчитать количество слов в строке, и вывести на экран только те из них, которые начинаются с буквы 'а'
Здравствуйте, нужна ваша помощь в решении задачи по Turbo Pascal Задача:Дана строка, состоящая из...

Подсчитать количество слов, которые начинаются с буквы а Найти длину самого короткого слова
Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не...

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru