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

В конец каждой строки через пробел добавляется число, которое равно количеству символов в самом длинном слове данной строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Хак препроцессора, объясните как работает http://www.cyberforum.ru/cpp-beginners/thread1090337.html
Уже кучу времени сижу как баран и питаюсь понять, как же это работает: #define BOOK_PP_CAT_IMPL(a, b) a ## b #define BOOK_PP_CAT(a, b) BOOK_PP_CAT_IMPL(a, b) #define BOOK_ID(identifier)...
C++ Задано массив строк произвольной длины. Отформатировать данный массив по ширине поля. Задано массив строк произвольной длины. Отформатировать данный массив по ширине поля. http://www.cyberforum.ru/cpp-beginners/thread1090322.html
C++ Умные указатели
Пишу класс дерево поиска:template<typename T, typename Compare> class AvlTree { private: struct Node { T key; size_t height; ...
Определите по данным, сколько банок не прострелил Гарри и сколько банок не прострелил Ларри. C++
Бандиты Гарри и Ларри отдыхали на природе. Решив пострелять, они выставили на бревно несколько банок из-под кока-колы (не больше 10). Гарри начал простреливать банки по порядку, начиная с самой...
C++ Перевести код из языка Pascal в C++ http://www.cyberforum.ru/cpp-beginners/thread1090276.html
Помогите пожалуйста перевести код программы из языка Pascal в C++. А то у меня не совсем нормально получается. program pas; const N = 10; var i, t, k, G: integer;
C++ Написать функцию вычисления знака числа Здравствуйте! Прошу прощения за глупый вопрос, мог бы спросить и у препода, но ждать долго, а сдать хочу досрочно) Задание прикрепил ниже. Насколько я понял, речь идет о первом знаке после запятой.... подробнее

Показать сообщение отдельно
truhin_evgeniy
3 / 3 / 0
Регистрация: 23.01.2014
Сообщений: 47

В конец каждой строки через пробел добавляется число, которое равно количеству символов в самом длинном слове данной строки - C++

05.02.2014, 23:31. Просмотров 185. Ответов 0
Метки (Все метки)

помогите с описанием кода какая функция за что отвечает?
Следует разработать программу, которая преобразует любой текстовый файл в другой текстовый файл по правилу: В конец каждой строки через пробел добавляется число, которое равно количеству символов в самом длинном слове данной строки

код:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <assert.h>
 
//-----------------------------------------------------------------------------
int GetWord(char text[], char** begin, char** end) {
    for (; *text && isspace(*text); ++text) { ; }
    *begin = text;
    for (; *text && !isspace(*text); ++text) { ; }
    *end = text;
    return *end - *begin;}
//-----------------------------------------------------------------------------
char* GetLine(FILE* f) {
 
    static size_t len = 0;
    static char* str = NULL;
    char ch = fgetc(f);
 
    if ((ch == '\n') || (ch == EOF)) {
        if (len) {
            str = malloc(len + 1);
            str[len] = '\0';        }
        else {
            str = NULL;        }    }
    else {
        len++;
        str = GetLine(f);
        str[--len] = ch;    }
    return str;
}
//-----------------------------------------------------------------------------
void FromTo(FILE* fsrc, FILE* fdest) {
 
    char* str;
    char* begin;
    char* end;
    size_t len, maxlen;
    while (!feof(fsrc)) {
        str = begin = GetLine(fsrc);
        maxlen = 0;
        if (str) {
            while ((len = GetWord(begin, &begin, &end))) {
                if (maxlen < len) {
                    maxlen = len;                }
                begin = end;            }        }
 
        fprintf(fdest, "%s %u\n", str ? str : "", maxlen);
        free(str);    }}
 
int main() {
 
    FILE* fsrc;
    FILE* fdest;
    char nameSrc[256], nameDest[256];
    printf("input file: ");
    scanf("%255s", nameSrc);
 
    printf("output file: ");
    scanf("%255s", nameDest);
 
    fsrc = fopen(nameSrc, "r");
    if (fsrc == NULL) {
        perror(nameSrc);
        return 1;    }
    fdest = fopen(nameDest, "w");
    if (fdest == NULL) {
        perror(nameDest);
        fclose(fsrc);
        return 1;    }
    FromTo(fsrc, fdest);
 
    fclose(fdest);
    fclose(fsrc);
    return 0;}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru