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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Nicl
0 / 0 / 0
Регистрация: 07.10.2008
Сообщений: 26
#1

Найти самую длинную строку в файле - C++

24.10.2008, 20:06. Просмотров 1712. Ответов 2
Метки нет (Все метки)

Есть задача:
Дан произвольный файл с некоторым количеством строк. Найти самую длинную строку и вывести ее.

Попытался реализовать так:
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
#include <fstream>
#include <iostream>
using namespace std;
void main()
{#include <fstream>
#include <iostream>
using namespace std;
void main()
{
    ifstream in;
    in.open("text3.txt");
    char k = ' ';
    int i = 0, max = 0;
    while (!in.eof())
    {
        while (k != 10 && !in.eof())
        {
        in>>k;
        cout<<k;
        i++;
        }
        cout<<endl;
        if (i>max)
        {
            max = i;
        }
        i = 0;
    }
    in.close();
    cout<<"Max. lenght of string - "<<max<<".";
}
Выводится скопом весь файл. Судя по всему, что-то не так отловом символа перевода строки. Также не очень понимаю, как вывести отдельно самую длинную строку - посимвольно копировать в char-массив?

Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2008, 20:06     Найти самую длинную строку в файле
Посмотрите здесь:

C++ Удалить самую длинную строку матрицы
C++ Определить самую длинную строку в тексте
Найти самую длинную строку в файле C++
C++ [C] Найти самую длинную строку и поместить ее после самой короткой
C++ Открыть заданный текстовый файл, найти в нем и вывести на экран самую длинную строку
C++ Указатели. Сформировать массив строк. Удалить из него самую длинную строку
Дан текстовый файл.Найти самую длинную строку и её длину C++
C++ Записать в файл последовательность строк. Самую длинную строку удалить
Найти в файле самую длинную строку и переписать её в другой файл C++
Найти самую длинную неубывающую последовательность C++
C++ Найти самую длинную ленту
Найти самую длинную монотонную последовательность C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lord_Voodoo
Супер-модератор
8577 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,863
Завершенные тесты: 1
25.10.2008, 09:54     Найти самую длинную строку в файле #2
по идее для считывания построчного используйте in.getline, а для клпирования - strcpy
ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
25.10.2008, 11:49     Найти самую длинную строку в файле #3
1) Зделай проверку на открытие файла... А то если файла нету оно зацыкливаеться...
2) вот пример который читает содержимое файла
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
#include <iostream> 
#include <fstream> 
using namespace std; 
void main() 
{ 
 int i; 
 char filename[81]; 
 char input_line[81]; 
 cout << "Enter a file name and press ENTER: "; 
 cin.getline(filename, 80); 
 ifstream file_in(filename); 
 while (1) 
 { 
  for (i = 1; i <= 24 && ! file_in.eof(); i++) 
  { 
   file_in.getline(input_line, 80); 
   cout << input_line << endl; 
  } 
  if (file_in.eof()) 
   break; 
  cout << "More? (Press 'Q' and ENTER to quit.)"; 
  cin.getline(input_line, 80); 
 } 
}
думаю с ним тебе легче будет разобраться...
Yandex
Объявления
25.10.2008, 11:49     Найти самую длинную строку в файле
Ответ Создать тему
Опции темы

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