Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/76: Рейтинг темы: голосов - 76, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 7
1

Дан текстовый файл.Найти самую длинную строку и её длину

22.06.2013, 15:41. Показов 13714. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, подготовиться к отчету.Дан текстовый файл.Найти самую длинную строку и её длину.на языке С++.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2013, 15:41
Ответы с готовыми решениями:

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

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

Открыть заданный текстовый файл, найти в нем и вывести на экран самую короткую строку
Открыть заданный текстовый файл, найти в нем и вывести на экран самую короткую строку. Что не так,...

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

3
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
22.06.2013, 16:31 2
Ну алгоритм прост:
- завести перменную под строку и переменную под её длину
- считать первую строку через getline() и принять её самой длинной, запомнить её длину
- в цикле считывать следующую строку и проверять не больше ли её длина той нашей самой длинной на текущий момент, если больше - запомнить эту как самую длинную и считывать дальше...
- вывести результаты

Пробуйте, если что-то не получиться - пишите сюда код и что не получилось укажите.
0
С++ Beginner
120 / 120 / 77
Регистрация: 28.02.2013
Сообщений: 246
22.06.2013, 16:36 3
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
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
 
typedef std::vector<std::string>::size_type vec_size;
 
int main() {
  setlocale(0, "");
  std::ifstream ifs("INPUT.txt");
  std::vector<std::string> vec;
  std::string myString;
  vec_size max_size = 0;
  int index = 0;
  
  if(!ifs) {
    std::cerr << "Файл открыть не удалось" << std::endl;
    std::cin.get();
    return 1;
  } else {
    for(int i = 0; std::getline(ifs, myString); ++i) {
      vec.push_back(myString);
      if(vec[i].size() > max_size) {
        max_size = vec[i].size();
        index = i;
      }
    }
  }
  
  vec_size size = vec.size();
  std::cout << "Считанные строки из файла: " << std::endl;
  
  for(int i = 0; i != size; ++i)
    std::cout << i+1 << ". " << vec[i] << std::endl;
  
  std::cout << std::endl << "Строка с максимальной длиной под номером " << index+1 
  << std::endl << vec[index] << std::endl;
  
  return 0;
}
INPUT.txt:
Кликните здесь для просмотра всего текста
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
1
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
22.06.2013, 22:36 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::ifstream ifs("Text.txt");
 
    std::string cur_str, max_str;
 
    while (std::getline(ifs, cur_str))
    {
        if (cur_str.size() > max_str.size())
            max_str = cur_str;
    }
 
    std::cout << "Max size: " << max_str.size()  << " - " << max_str << std::endl;
 
    return 0;
}
2
22.06.2013, 22:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.06.2013, 22:36
Помогаю со студенческими работами здесь

Найти самую длинную строку в файле
Вроде все норм, вот только когда пытаюсь вывести через puts() - выводит все содержимое файла...

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

Дан файл. В новый файл записать самую длинную фразу и фразу с наибольшим количеством слов
Здравствуйте. Вот задача Дан файл, содержащий некоторый текст. В новый файл записать самую длинную...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru