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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
Gamora
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 7
#1

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

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

Помогите, подготовиться к отчету.Дан текстовый файл.Найти самую длинную строку и её длину.на языке С++.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2013, 15:41     Дан текстовый файл.Найти самую длинную строку и её длину
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
22.06.2013, 16:31     Дан текстовый файл.Найти самую длинную строку и её длину #2
Ну алгоритм прост:
- завести перменную под строку и переменную под её длину
- считать первую строку через getline() и принять её самой длинной, запомнить её длину
- в цикле считывать следующую строку и проверять не больше ли её длина той нашей самой длинной на текущий момент, если больше - запомнить эту как самую длинную и считывать дальше...
- вывести результаты

Пробуйте, если что-то не получиться - пишите сюда код и что не получилось укажите.
MarVaL
С++ Beginner
116 / 116 / 16
Регистрация: 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.
Issues
430 / 365 / 37
Регистрация: 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;
}
Yandex
Объявления
22.06.2013, 22:36     Дан текстовый файл.Найти самую длинную строку и её длину
Ответ Создать тему
Опции темы

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