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

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

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

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

24.10.2008, 20:06. Просмотров 1756. Ответов 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++
Вроде все норм, вот только когда пытаюсь вывести через puts() - выводит все содержимое файла посимвольно и в столбик, а через Printf() -...

Найти в файле самую длинную строку и переписать её в другой файл - C++
всем привет возник такой вопрос есть файл в который вносятся числа разного количества. по этому есть несколько строк введённых чисел....

[C] Найти самую длинную строку и поместить ее после самой короткой - C++
Найти самую длинную строку и поместить ее после самой короткой.

Дан текстовый файл.Найти самую длинную строку и её длину - C++
Помогите, подготовиться к отчету.Дан текстовый файл.Найти самую длинную строку и её длину.на языке С++.

Открыть заданный текстовый файл, найти в нем и вывести на экран самую длинную строку - C++
Открыть заданный текстовый файл, найти в нем и вывести на экран самую длинную строку. Имя файла должно передаваться в программу в виде...

Удалить самую длинную строку матрицы - C++
1. Критерий для поиска в массиве структур: Сотрудники со стажем более 10 лет и заработной платой более 15000! 2. Задача для обработки...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 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); 
 } 
}
думаю с ним тебе легче будет разобраться...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2008, 11:49
Привет! Вот еще темы с ответами:

Определить самую длинную строку в тексте - C++
Определить самую длинную строку в тексте. Найденную строку передавать в главную функцию. И ещё, не могу понять почему если задать размер...

Записать в файл последовательность строк. Самую длинную строку удалить - C++
Записать в файл последовательность строк. Самую длинную строку удалить. Помогите новичку

Указатели. Сформировать массив строк. Удалить из него самую длинную строку - C++
Сформировать массив строк. Удалить из него самую длинную строку Добавлено через 16 часов 19 минут Что никто не знает как??

Запомнить самую длинную строку и выдать её после окончания работы цикла ввода - C++
2. На вход символьного фильтра подаются строки. Фильтр запоминает самую длинную строку и выдает её после окончания работы цикла ввода.


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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