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

Самое короткое слово в файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рекурсивная функция произведения элементов массива http://www.cyberforum.ru/cpp-beginners/thread878335.html
Здесь функция произведения "proizv" считает произведение всех элементов массива, как сделать её рекурсивной? #include <iostream> #include <conio.h> #include <time.h> #include <math.h> int i; using namespace std; const int N=10; void input(int a, int b, int n)
C++ Нужен совет ( дана последовательность чисел, программа их обрабатывает и выдает уравнение их возрастания) Добрый день! нужна помощь собственно предложили написать программу: дана последовательность чисел, программа их обрабатывает и выдает уравнение их возрастания. Дайте совет с чего начать, либо если кто может дать часть исходника. Просто не знаю как реализовать данную задачу http://www.cyberforum.ru/cpp-beginners/thread878333.html
поворот вокруг центра тяжести треугольника C++
как решить поворот вокруг центра тяжести треугольника и перемещение в направлении одной из осей, если даны координаты вершин надо только вывести координаты вершин после поворота
C++ Дана точка A и множество B из N точек. Найти номер точки из множества B, наиболее удаленной от точки A
#include "stdafx.h" #include <iostream> #include <stdio.h> #include <time.h> #define B 100 using namespace std; void gen (int a, int b, int с, int mass); void out (int с, int mass); void tochka (int с, int mass);
C++ Разница между list и vector? http://www.cyberforum.ru/cpp-beginners/thread878321.html
Разница между list и vector?
C++ как вывести на экран два массива рядом? добрый день! если выводить на экран два массива подряд, то один располагается под другим. их можно вывести рядом? подробнее

Показать сообщение отдельно
gray_fox
What a waste!
1507 / 1210 / 68
Регистрация: 21.04.2012
Сообщений: 2,545
Завершенные тесты: 3
26.05.2013, 02:22
Цитата Сообщение от Serg351 Посмотреть сообщение
НО. Вместо string преподаватель велел использовать char*.
:/ Однако. Как вариант:
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
#include <iostream>
#include <fstream>
#include <algorithm>
#include <limits>
#include <cstdlib>
#include <cstring>
 
 
int main() {
   static std::size_t const max_line_size = 128;
 
   std::ifstream ifs("text.txt");
   if (!ifs) {
      std::cerr << "Failed to open file 'text.txt'" << std::endl;
      std::exit(EXIT_FAILURE);
   }
 
   std::size_t min = std::numeric_limits<std::size_t>::max();
   char buffer[max_line_size];
   while (ifs.getline(buffer, max_line_size)) {
      min = std::min(min, std::strlen(buffer));
   }
 
   std::cout << min << std::endl;
}
Добавлено через 7 минут
Не всё прочитал) Так:
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
#include <iostream>
#include <fstream>
#include <limits>
#include <cstdlib>
#include <cstring>
 
 
int main() {
   static std::size_t const max_line_size = 128;
 
   std::ifstream ifs("text.txt");
   if (!ifs) {
      std::cerr << "Failed to open file 'text.txt'" << std::endl;
      std::exit(EXIT_FAILURE);
   }
 
   std::size_t min = std::numeric_limits<std::size_t>::max();
   char buffer[max_line_size];
   char word[max_line_size] = "";
   while (ifs.getline(buffer, max_line_size)) {
      std::size_t const length = std::strlen(buffer);
      if (length < min) {
         min = length;
         std::strcpy(word, buffer);
      }
   }
 
   std::cout << word << std::endl;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru