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

Не могу до конца разобрать код программы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Графы http://www.cyberforum.ru/cpp-beginners/thread156533.html
Задана система односторонних дорог(вбивается рандомно или вручную). Найти два города и соединяющий их путь, который проходит через каждую из дорог системы только один раз. помогите плиз, не могу понять с чего подойти.
C++ В чём ошибка? Начал писать класс: class TGame{ public: TGame(char *WorldFileName, char *TexturesFileName); void Render(); private: TPrimitives World; TTextures Textures; TTexturesData TexturesData; void InitWorld(); http://www.cyberforum.ru/cpp-beginners/thread156530.html
C++ Метод наследника?
Я не очень силен в наследовании в С++... Пусть у меня есть класс наследника и есть метод такой же как и у родителя... Как мне сначала выполнить в этом методе то, что у родителя, а затем у наследника? Просто в Delphi есть оператор inherited а здесь как??
C++ Перегрузка оператора ++ , деструктор и конструктор копий
Привет всем! В продолжение Этой темы появились новые вопросы и непонятки. Буду признателен за советы и разъяснения ;) Начну с самого начала... Пишу class - обертку для файла. Цель - упростить операции доступа к содержимому файла. Приблизительный план: (может, как по другому можно) класс должен содержать, и выдавать по требованию, такие данные;
C++ Объект string! http://www.cyberforum.ru/cpp-beginners/thread156519.html
Нужно чтобы при вводе имени файла(даже с пробелами), или вообще других данных, они заносились в объект типа string! C помощью каких функций или операторов можно это сделать? Потому что если это делать с помощью объекта cin, то заносится не полное имя файла, если в нем были пробелы!!! Заранее благодарен! Вот пример кода: #include "stdafx.h" #include <iostream> #include <fstream> #include...
C++ Вопросы насчёт быстрой сортировки Здравствуйте. Объясните, пожалуйста. Есть алгоритм быстрой сортировки: Код: int shag=1; void quickSort(int arr, int left, int right, char v) { cout <<"--------" <<shag <<"-------" <<endl; if(v=='a') {cout <<" Вариант №1" <<endl; shag++;} подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
01.08.2010, 03:46     Не могу до конца разобрать код программы
Цитата Сообщение от Kashtan$$$ Посмотреть сообщение
программа считывает текст из файла и выводит его на экран а потом выводит слова начинающиеся с гласных
+ считает все слова и отдельно те, что с гласной начинаются (кстати, буква Y в английском алфавите тоже гласной считается)
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
#ifndef MAX_PATH
#define MAX_PATH 1024
#endif
    
#define DELIM " ,.;:!?\t\n"
 
int main(void){
    char path[MAX_PATH], * p, * buf;
    long len, cntVowels, cntAll;
    FILE * f;
    const char * VOWELS = "AEIOUY";
    
    printf("File name: ");
    if ( ! fgets(path, MAX_PATH, stdin) ){
        perror("fgets");
        exit(EXIT_FAILURE);
    }
    if ( p = strrchr(path, '\n') )
        *p = '\0';
    
    if ( ( f = fopen(path, "rb") ) == NULL ){
        perror("fopen");
        exit(EXIT_FAILURE);
    }
    
    fseek(f, 0, SEEK_END);
    if ( ( len = ftell(f) ) < 1 ){
        fprintf(stderr, "Wrong or empty file!\n");
        exit(EXIT_FAILURE);
    }
    rewind(f);
    if ( ( buf = (char*)malloc(len + 1) ) == NULL ){
        perror("malloc");
        exit(EXIT_FAILURE);
    }
    if ( fread(buf, 1, len, f) != len ){
        fprintf(stderr, "Error reading file!\n");
        exit(EXIT_FAILURE);
    }
    buf[len] = '\0';
    
    if ( fclose(f) ){
        perror("fclose");
        exit(EXIT_FAILURE);
    }
    
    printf("\nFile contents:\n\n%s\n", buf);
    cntVowels = cntAll = 0;
    printf("Start by vowels:\n");
    for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) ){
        ++cntAll;
        if ( strchr(VOWELS, toupper(*p)) ){
            ++cntVowels;
            printf("%s\n", p);
        }
    }
    
    printf("\nAll words: %d\nStarts by vowels: %d\n", cntAll, cntVowels);
    
    free(buf);
    exit(EXIT_SUCCESS);
}
 
Текущее время: 09:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru