Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
1 / 1 / 0
Регистрация: 13.02.2012
Сообщений: 120

Найти самое длинное слово в строке, не используя стандартные средства для разбиения строк

18.09.2012, 19:30. Показов 4694. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нуждаюсь в совете мудрых . . .

3)Дана строка S(предложение). Найти самое длинное слово в строке, не используя стандартные средствадля разбиения строк. (Если не получится, черт с ним, можно и стандартными).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.09.2012, 19:30
Ответы с готовыми решениями:

Разделить строку на отдельные слова не используя стандартные средства для разбиения строк
Дана строка S. Разделить строку на отдельные слова не используя стандартные средства для разбиения строк. Программа есть но сказали...

Дана строка S. Разделить строку на отдельные слова не используя стандартные средства для разбиения строк
class Program { static void enter( out char chars) { string str = Console.ReadLine() ; chars = str.ToCharArray(); } static...

Найти в строке самое длинное слово без split, для типа string, не используя методов класса
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication28 { ...

4
 Аватар для Spectral-Owl
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
19.09.2012, 10:41
C#
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
            string s = "dlfgh 3th3uhkfgjsf g343o4i3; ijh; sdogjo3; 3j4";
            int SpaceCount = 1;
 
            foreach (char c in s)
                if (c == ' ') SpaceCount++;
 
            string[] Words = new string[SpaceCount];
            
            int j=0;
            for (int i = 0; i < s.Length; i++)
            {
                if(s[i]==' ')
                {
                    j++;
                    continue;
                }
 
                if ((s[i]!='.')&&
                    (s[i]!=',')&&
                    (s[i]!=';')&&
                    (s[i]!='\'')&&
                    (s[i]!='\"')&&
                    (s[i]!='[')&&
                    (s[i]!=']')&&
                    (s[i] != '(') &&
                    (s[i] != ')') &&
                    (s[i] != '-') &&
                    (s[i] != '_') &&
                    (s[i] != '\\') &&
                    (s[i] != '/') &&
                    (s[i]!='!')) //сам остальные условия введёшь, 
                                 //или посмотри таблицу ASCII символов и обращайся по числовому значению
                {
                    Words[j]+=s[i];
                }
            }
 
            int MaxIndex = 0;
            int MaxCount = 0;
 
            for (int i = 0; i <SpaceCount; i++)
            {
                if (Words[i].Length > MaxCount)
                {
                    MaxCount = Words[i].Length;
                    MaxIndex = i;
                }
            }
 
            Console.WriteLine(" Наибольшее слово: {0}\n Номер слова: {1}\n Размер слова:{2}" ,Words[MaxIndex],MaxIndex,MaxCount);
из стандартных только свойство Length =)
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
19.09.2012, 12:36
Проверяет только буквы, если встречается цифра, то отсчет начинается сначала. Это сделано специально
C#
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
32
33
34
35
36
using System;
using System.Text;
 
 
namespace LongestWord
{
    class Program
    {
        static void Main()
        {
            const string s = "Hello my pretty peoples";
            string longestword = GetTheLongestWord(s);
            Console.WriteLine(longestword);
            Console.ReadKey();
        }
 
 
        private static string GetTheLongestWord(string s)
        {
            if (string.IsNullOrWhiteSpace(s)) return "";
            if (s.Length == 1) return s;
            var sb = new StringBuilder();
            string result = "";
            foreach (char c in s.Trim() + " ") //Пробел нужен чтобы foreach вышел на последний цикл
                if (char.IsLetter(c))
                    sb.Append(c);
                else
                {
                    if (sb.Length > result.Length)
                        result = sb.ToString();
                    sb.Clear();
                }
            return result;
        }
    }
}
1
1 / 1 / 0
Регистрация: 13.02.2012
Сообщений: 120
19.09.2012, 17:13  [ТС]
Спасибо большое, вы мне очень помогли )))
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
19.09.2012, 21:32
Без разбиения:
C#
1
var longestWord = Regex.Matches(inputString, @"\w+").Cast<Match>().OrderByDescending(m => m.Length).First().Value;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.09.2012, 21:32
Помогаю со студенческими работами здесь

Найти самое длинное слово, общее для 2 строк
Даны две строки. Найти самое длинное слово, общее для этих строк. Если нужного слова нет - сообщить об этом. Что-то набросал, но не...

Ввести символьную строку. Найти в строке самое длинное слово и вывести его на экран. Новых строк не создавать
Ввести символьную строку. Найти в строке самое длинное слово и вывести его на экран. Новых строк не создавать. СПАСИБО!

Файл: Определить количество строк файла, в каждой строке найти самое длинное слово и дописать его в конец
Ввести строки с клавиатуры. Создать файл, определить количество строк файла, в каждой строке найти самое длинное слово и дописать его в...

Найти самое длинное и самое короткое слово в строке и поменять их местами
Дано предложение. Найти самое длинное и самое короткое слова и поменять их местами. Удалить слова имеющие нечетную длину. Добавлено...

Найти самое короткое и самое длинное слово в строке и их позиции
Тема: Разработка алгоритмов и программ обработки строк. Использование множеств с целью решения задач. В заданном предложении найти...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru