Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 25.03.2010, 00:55   #1
ArniLand
Форумчанин
 
Регистрация: 27.06.2009
Сообщений: 89
Репутация: 10
По умолчанию Длина строки С++

Нужно получить длину длиннейшей строки, но не могу понять как это сделать. Вот цикл который вычисляет длину строки, но как организовать что он искал длину длиннейшей строки
Код:
char len;
len=strlen(str);
for (i=0;i<len;i++) 
{
}
ArniLand вне форума   Ответить с цитированием
Старый 25.03.2010, 01:32   #2
NiCola999
Не
Профессионал
 
Регистрация: 29.10.2009
Адрес: Москва
Сообщений: 1,456
Репутация: 159

icq: 458-666-144
По умолчанию

Точно также как и максимальный элемент в массиве
Получаешь длину первой строки, сраниваешь, если она больше 0,то max = длина этой строки. Получаешь длину второй строки, если длина её больше предыдущей, то max = её длина итд...
NiCola999 вне форума   Ответить с цитированием
Старый 25.03.2010, 01:42   #3
Гром
Профессионал
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
Репутация: 473

icq: 482-373-277
По умолчанию

Цитата:
если она больше 0,то max = длина этой строки
Замечу только, что для строк этот вариант вполне подходит, однако для нахождения максимума, например, из элементов массива, изначально max должен быть равен первому элементу. Потому что если все элементы массива отрицательны, то при стартовом нуле мы на выходе и получим ноль, который на самом деле ни к селу, ни к городу.
__________________
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума   Ответить с цитированием
Старый 25.03.2010, 01:55   #4
NiCola999
Не
Профессионал
 
Регистрация: 29.10.2009
Адрес: Москва
Сообщений: 1,456
Репутация: 159

icq: 458-666-144
По умолчанию

2Гром

я в курсе) просто для строк такое не подойдет в данном случае и можно взять как начальное 0
NiCola999 вне форума   Ответить с цитированием
Старый 25.03.2010, 02:03   #5
Гром
Профессионал
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
Репутация: 473

icq: 482-373-277
По умолчанию

NiCola999, ну это я так, картину дополнить. Чтоб если кто из читающих тему не знает, не напоролся случайно на эти грабли.
__________________
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума   Ответить с цитированием
Старый 25.03.2010, 08:20   #6
ArniLand
Форумчанин
 
Регистрация: 27.06.2009
Сообщений: 89
Репутация: 10
По умолчанию

не сильно пойму как это с массивом сделал, попробовал так
Код:
int temp=0;
for(int i=0; i<7;i++){ 
   int strSize;
   string s;
   strSize = s.size();
   if(temp<strSize)
   temp=strSize;
}
cout>>"Наибольшая строка имеет ">>temp>>"Символов">>endl;
ArniLand вне форума   Ответить с цитированием
Старый 25.03.2010, 10:08   #7
Гром
Профессионал
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
Репутация: 473

icq: 482-373-277
По умолчанию

В принципе правильно, за исключением, конечно, того, что в данном случае объявленная строка все семь раз будет пустая, и temp так нулем и останется. Но вот если перед началом цикла заиметь массив инициализированных строк... Тогда да.
__________________
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума   Ответить с цитированием
Старый 25.03.2010, 11:59   #8
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,886
Репутация: 2668
По умолчанию

cout>> ой ли? Может все-таки cout<<
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Длина пароля Lifefine Общие вопросы Delphi 7 25.02.2010 12:11
Длина строки в си : char string[255] Mixasik Помощь студентам 1 26.11.2008 21:33
Длина слова IGoDoVaN Общие вопросы Delphi 14 12.06.2008 08:04
длина массива skif93 Microsoft Office Excel 2 24.11.2007 12:45
Длина множества ElenaA Общие вопросы Delphi 1 02.07.2007 12:10


04:08.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.