Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 7
1

Подсчет слов с заглавной буквой в файле

12.04.2016, 15:21. Показов 590. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу сделать подсчет слов содержащих заглавную букву

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
// popitka_nomer667.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include <iostream>
#include <locale.h>
#include <fstream>//файловый ввод/вывод
#include <conio.h>
using namespace std;
 
void main(){
    setlocale(0, "");
    cout << "Исходные данные:" << endl;
    ifstream f;
    char *FName = "E:\\slova.txt";
    int* Line = new int[10]; //Номер строки в начальном файле 
    int* WordsCount = new int[10]; //Количество слов, удовлетворяющих заданию
    int StrNumber = 0; // Номер строки
    int B = 0;
    char* buf = new char[10]; // Массив для считывания длины строк, буфер строки
    char** result = new char*[10]; // массив-результат
    for (int i = 0; i< 10; i++)
    {
        result[i] = new char[80];
        WordsCount[i] = 0;
        Line[i] = i;
    }
    fstream file(FName); // открываем поток для чтения
    while (!file.eof())
    {
        file.getline(buf, 80);//считываем строку в переменную buf
        int end = strlen(buf);//функция возвращает кол-во символов в строке
        cout << buf << endl; // вывод исхоной строки
        int j, x, h = 0, k = 0;
        for (int i = 0, FirstIndex = 0; i < end; i++)
    {
            if ((buf[i + 1] == ' ') || (buf[i + 1] == ',') || (buf[i + 1] == '.') || (buf[i + 1] == ';') || (buf[i + 1] == ':') || (buf[i + 1] == '\n') || (i + 1 == end)){ // проверка на конец слова
                int LastIndex = i;
                for (int x = FirstIndex; x <= LastIndex; x++)
                {
                    if ((buf[x] >= 'А') & (buf[x] <= 'Я'))
                        h++;
                }
                if (h>0)
                {
                    for (j = FirstIndex, k; j <= LastIndex +1; j++, k++)
                    {
                        result[StrNumber][k] = buf[j]; // Запись слова в массив-результат
                        result[StrNumber][k + 1] = '\0';
                        
                    }
 
                    WordsCount[StrNumber]++;
                
                    
                    // Переход к след. слову
                }
                FirstIndex = LastIndex + 2;
                }
    }
        StrNumber++;
    }
 
    file.close();//закрываем поток
    cout << endl;
    for (int i = 0; i < StrNumber - 1; i++)
    for (int j = i + 1; j < StrNumber; j++)
    if (WordsCount[i] < WordsCount[j]){//Сортировка(метод "пузырька")
        int buff = WordsCount[i];
        WordsCount[i] = WordsCount[j];
        WordsCount[j] = buff;
        buf = result[i];
        result[i] = result[j];
        result[j] = buf;
        buff = Line[i];
        Line[i] = Line[j];
        Line[j] = buff;
    }
 
 
    cout << "Измененный массив: " << endl;
    cout << endl;
    for (int i = 0; i < StrNumber; i++)
    if (WordsCount[i] != 0)
        cout << "Строка " << Line[i] << ": " << result[i] << endl;
    char *filename = new char[80]; //Имя фаила
    cout << endl;
    cout << "Введите имя выходного файла: ";
    cin >> filename;
    ofstream out(filename); // Открываем поток для записи в фаил
    for (int i = 0; i < StrNumber; i++)
        out << "Строка" << Line[i] << ": " << result[i] << endl;
    out.close();
    _getch();
}
https://www.cyberforum.ru/atta... 1460463578
Миниатюры
Подсчет слов с заглавной буквой в файле  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2016, 15:21
Ответы с готовыми решениями:

Подсчет слов в файле.
Помогите решить задачку... Прочитать файл и подсчитать число слов в файле.Слово считается от...

Подсчет слов с файле
Как подружить эти 2 кода? (в с++ разбираюсь не очень хорошо) #include &quot;pch.h&quot; #include &lt;iostream&gt;...

Подсчет количества слов в файле
Дан текстовый файл. Определить, сколько раз каждое слово встречается в тексте. Слова выводить на...

Напечатать слово с заглавной буквой А
Вот мой код но некоторые ошибки есть. Надо исправить ошибку или другой код надо написать ...

1
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,668
12.04.2016, 15:34 2
isupper() используй.
Логическое И - &&.
0
12.04.2016, 15:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2016, 15:34
Помогаю со студенческими работами здесь

Юнит-тесты: приложение, считающее количество слов с заданной буквой в текстовом файле через тестирование
необходимо разработать приложение, считающее количество слов с заданной буквой в текстовом файле...

В текстовом файле посчитать количество слов, начинающихся и заканчивающихся одной и той же буквой (нужны комментарии)
Программа предназначена для подсчитывания в текстовом файле количества слов начинающихся и...

Подсчет количества повторений всех слов, встретившихся в файле
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace std; struct Node...

Подсчет колличества слов разделенных пробелом и пробелов в файле
Здраствуйте. Нужно сделать подсчет колличества слов разделенных пробелом, а также количество...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru