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

Дана строка символов, состоящая из цифр и пробелов. Вывести на экран слово с максимальной длиной - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ специфичная проверка на конец файла http://www.cyberforum.ru/cpp-beginners/thread861904.html
Дело в чем. Я считываю с файла 2 размерности , 2 матрицы и вектор. Потом надо провести проверку прочитан ли файл до конца( для того чтобы размерности не были меньше матриц). Вполне логичная проверка if (!fin.eof()) {//блабла} работает не совсем корректно. Если после самого последнего элемента поставить пробел, то он отлавливает этот пробел. А ведь это не ошибка, так как вектор от него не...
C++ Сформировать вектор Z по формуле Xi=sin^2(i+pi)+cos*pi, где i =0..n-1, n задать константой. Yi=(sqrt(exp^(Ln(|Xi|+1) + sin^2 *Xi)/(1+Ln(|Xi|+10) Сформировать вектор Z по формуле Zi=max(Xi,Yi)-min(Xi,Yi) и найти в нем максимальное значение среди элементов с четными номерами и минимальное – среди элементов с нечетными номерами, а также порядковые номера этих элементов в массиве Z. Очень прошу помогите....Дело в том что надо... http://www.cyberforum.ru/cpp-beginners/thread861894.html
C++ Матрица и змейка
Вот рабочий код по строке, нужно переделать по столбцу.... помогите переделать .. #include "stdafx.h" #include <iostream> #include <conio.h> #include <windows.h> using namespace std; int _tmain(int argc, _TCHAR* argv)
C++ Массив из имен
Подскажите пожалуйста, как упорядочить массив из имен в убывающем порядке. Сам массив создан и отображен. Теперь его надо отобразить в убывающем порядкею Зараннее благодарю за помощь #include <iostream.h> #include <string.h> main() { char vardas1 = "Igoris"; char vardas2 = "Edita"; char vardas3 = "Greta"; char vardas4 = "Kasparas";
C++ Предикаты. Выборка объектов из вектора по определённому полю http://www.cyberforum.ru/cpp-beginners/thread861869.html
Здравствуйте. Имеется некий шаблон класса, один из членов которого - вектор. Т.е. что-то вроде template <class T> class TClass{ private: vector<T> rows; ......... public:
C++ Хранение ресурсов Ку-ку мой мальчик, есть файлы допустим .exe, .txt и т.д. Задаче такова: объединить эти файлы в один, и из этого большого файла, выгружать те которые мне нужны, и наоборот программно загружать туда новые файлы. Вопрос такой как это можно сделать? Косой взгляд на DLL,может быть есть еще альтернативы? подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.05.2013, 22:30     Дана строка символов, состоящая из цифр и пробелов. Вывести на экран слово с максимальной длиной
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
#include <stdio.h>
#include <string.h>
 
int main()
{
    const int STR_LEN = 200;
    char dest[STR_LEN];
    printf("Vvedite stroku simvolov \n");
    fgets(dest, STR_LEN-1, stdin);
 
    char * buf = new char[strlen(dest)+1];
    strcpy(buf, dest);
    char * temp = strtok (buf, " \n\t");  //выделить первое слово строки
    size_t max = strlen(temp); //Принять это слово за слово с максимальной длиной
    char * strmax = new char[max+1];
    strcpy(strmax, temp);
 
    printf("%s\n", temp);
    const char* delim = " \n\t";
    temp = strtok(NULL, delim);
    while (temp != NULL)    //выделить последующее слово и сравнить их со словом max длины
    {
        printf("%s\n", temp);
        if (max < strlen(temp))
        {
            delete [] strmax;
            max = strlen(temp);
            strmax = new char[max+1];
            strcpy(strmax, temp);
        }
        temp = strtok(NULL, delim);
    }
    printf("\nSamoe dlinnoe slovo - %s\n", strmax);
    delete[]strmax;
    delete[]buf;
    return 0;
}
Используя stl будет по-проще:
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
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <iterator>
#include <algorithm>
 
bool cmp(const std::string& left, const std::string& right)
{
    return left.size() < right.size();
}
 
typedef std::istream_iterator<std::string> ii;
 
int main()
{
    std::string line;
 
    std::cout << "Put line: ";
    std::getline(std::cin, line);
 
    std::stringstream str(line);
    std::vector<std::string> v((ii(str)), ii());
    std::vector<std::string>::iterator iter = std::max_element(v.begin(), v.end(), cmp);
    std::cout << "Max word: " << *iter << std::endl;
}
 
Текущее время: 14:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru