Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
#1

Ошибка при выводе самой длинной строчки. - C++

05.01.2010, 22:51. Просмотров 386. Ответов 8
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream.h>
#include<conio.h>
#include<string.h>
  using namespace std;
  void main()
   
{string s[100];int n,k,min;
 cout<<"koli4estvo stro4ek"<<" ";cin>>n;
 clrscr();
   for (k=0;k<n;k++)
   {cout<<k<<" -stro4ka ";
    cin>>s[k];}
    min=s[k].length();
   for (k=1;k<n;k++)
    if (s[k].length()<min) {min=s[k].length();}
 
     cout<<min;
     getch();
     }
Программа должна выводить сколько симболов содержит самая длинная строчка.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2010, 22:51     Ошибка при выводе самой длинной строчки.
Посмотрите здесь:

Поиск самой длинной неубывающей подпоследовательности C++
C++ Подсчитать количество символов в самой длинной группе.
C++ Нахождение номера самой длинной строки в матрице
Поиск самой длинной строки в файле C++
C++ Подсчитать количество символов в самой длинной группе
Подсчитать количество символов в самой длинной группе C++
C++ Поиск самой длинной строки в const char**
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
05.01.2010, 23:00     Ошибка при выводе самой длинной строчки. #2
getline(cin,s); - считывает строку до энтера, сin - до пробела или энтера
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
05.01.2010, 23:09  [ТС]     Ошибка при выводе самой длинной строчки. #3
Цитата Сообщение от outoftime Посмотреть сообщение
getline(cin,s); - считывает строку до энтера, сin - до пробела или энтера
а развебез getline нельзя подсчитать симболы в каждой строчке, и потом среде этих строчек найти самую длинную, я хочу оставить свой вариат, просто найти там ошибку.
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
05.01.2010, 23:15     Ошибка при выводе самой длинной строчки. #4
тогдавводи строку посимвольно и проверяй на начало новой строки
C++
1
2
3
4
5
6
char ch;
string s;
while (scanf("%c",&ch))
{
   if (ch != '\n') s+= ch;
}
далее сам разбереш
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
05.01.2010, 23:18     Ошибка при выводе самой длинной строчки. #5
а развебез getline нельзя подсчитать симболы в каждой строчке, и потом среде этих строчек найти самую длинную,
таков уж cin...и ничего менять не надо просто вместо cin>>text напиши getline(cin,text);
C++
1
getline(ПОТОК, ТЕКСТ);
Добавлено через 14 секунд
да и полезному научишься
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
05.01.2010, 23:21     Ошибка при выводе самой длинной строчки. #6
я когда-то пробовал
C++
1
cin.getline(s);
но ничего хорошего с этого не вышло
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
05.01.2010, 23:22     Ошибка при выводе самой длинной строчки. #7
Цитата Сообщение от outoftime Посмотреть сообщение
cin.getline(s);
разве функция не принимает 2 параметра?
C++
1
cin.getline(text, size);
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
05.01.2010, 23:25     Ошибка при выводе самой длинной строчки. #8
возможно)) как-то попробую
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2010, 23:36     Ошибка при выводе самой длинной строчки.
Еще ссылки по теме:

Функция поиска самой длинной цепочки элементов массива C++
C++ Функция нахождения самой длинной неубывающей подпослед-ти
C++ Функция нахождения самой длинной неубывающей подпоследовательности
C++ Нахождение самой длинной строки из массива
C++ Вывести размер самой длинной строки

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

Или воспользуйтесь поиском по форуму:
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
05.01.2010, 23:36     Ошибка при выводе самой длинной строчки. #9
в общем std::getline(...,...) читает из потока (std::cin, файлового) в объект какой то
ну там к примеру читаем из файла строки
C++
1
2
3
4
std::ifstream in("d:\\file.txt");
       std::string temp;
       while (std::getline(in,temp))
         std::cout << temp << std::endl;
но с помощью std::getline нам не обязательно читать всю строку целиком, просто в объявлении функции за место 3 параметра стоит символ перевода строки, ну и следовательно когда мы вызываем эту функцию мы может за место 3 параметра поставить , . : и т д то есть будем считывает до опр char - знака. И того получилось что в функции std::getline формальных параметров 3 а фактических (при вызове) как минимум 2.
Yandex
Объявления
05.01.2010, 23:36     Ошибка при выводе самой длинной строчки.
Ответ Создать тему
Опции темы

Текущее время: 05:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru