Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сумма соседних элементов двумерного массива http://www.cyberforum.ru/cpp-beginners/thread1591777.html
Доброго времени суток! Подскажите идею по поводу следующей задачи: Допустим есть двумерный массив 3x4 рандомно заполненный числами от 0 до 3. Как найти все наборы значений этого массива (набор в...
C++ Вывести все целые числа в определенном диапазоне
Подскажите пожалуйста по решению задачи Задача: Напишите программу, которая запрашивает у пользователя два целых числа, а затем отображает каждое число в диапазоне, определенном этими двумя...
Что такое переопределение функции? C++
Могли-бы вы мне подсказать , что такое в теории переопределение функции в c++ . И где тут в программе функции , которая переопределяет метод Print ? #include <stdio.h> #include...
C++ Программа обработки прерывания от клавиатуры должна: 1. Распознавать нажатие горячей комбинации клавиш и реагировать на него звуком 2. При первом нажатии горячей комбинации переходить в режим блокировки введения (по отдельности) клавиш, составляющих... http://www.cyberforum.ru/cpp-beginners/thread1591766.html
C++ Реализовать алгоритм Хаффмана http://www.cyberforum.ru/cpp-beginners/thread1591762.html
1. Посчитать в тексте (взять любой текст) частоты появления букв и построить дерево кодирования (вручную). 2. Выбрать 10 наиболее часто встречающихся символов. 3. Написать программу для кодирования...
C++ Изменение цвета текста
При нажатии левой кнопки мыши текстовые символы на экране, которые имею такой же цвет, как и те, где находится курсор, увеличивают цвет на 1. Выход из программы - нажатие правой кнопки мыши....
Работа с файлами C++
Нужно найти файл (выведите на экран его имя), имеющий наименьшую длину среди файлов, расположенных в текущем каталоге или его подкаталоге любой степени вложенности. Если таких файлов несколько, то...
C++ Проверка состояния индикатора Помогите с решением задачи. Программа должна содержать ассемблерную вставку. При нажатии клавиши С проверить и вывести на экран состояние индикатора CapsLock. http://www.cyberforum.ru/cpp-beginners/thread1591749.html
C++ Найти в файле правильные несократимые дроби http://www.cyberforum.ru/cpp-beginners/thread1591746.html
Помогите!!! Вот мое ужасное задание: В текстовом файле содержатся дроби, записанные в формате «Числитель / знаменатель». Пользователь с клавиатуры задает число N и имя текстового файла. Найти в...
C++ Проверка ввода только букв Добрый день! Подскажите, пожалуйста, как можно реализовать проверку на ввод в массив символов строки, состоящей только из букв? То есть разрешить ввод только букв. http://www.cyberforum.ru/cpp-beginners/thread1591742.html
Erami
5 / 5 / 3
Регистрация: 23.10.2015
Сообщений: 35
24.11.2015, 22:28 0

Посчитать и вывести количество непохожих слов в строке

24.11.2015, 22:28. Просмотров 398. Ответов 8
Метки (Все метки)

Ответ

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
#include <iostream>
 
using namespace std;
 
// спрашивает и берёт строку у юзера
char* getstr(char* str, int size);
// принимает указатель на массив со строкой, его размер
// возвращает указатель на массив с введённой строкой
 
// собирает статистику по уникальности слов
int getwordstat(const char* str);
// принимает указатель на массив со строкой (только для чтения)
// возвращает кол-во уникальных слов
 
int main(){
    char* str = new char[1000]; // строка
    int unic; // кол-во уникальных слов
    getstr(str, 1000);
    unic = getwordstat(str);
    return 0;
}
 
char* getstr(char* str, int size){
    cout << "Enter string: " << endl << "-> ";
    cin.getline(str, size);
    return str;
}
 
int getwordstat(const char* str){
    char words[100][100]; // массив со словами
    int i; // счётчик
    int freewords = 0; //показатель свободного места(индекс) для слова в массиве
    char x; // буфер для копирования
    int wordstart = 0;
    int wordend = 0;
    bool word = false;
    for(i = 0; str[i] != '\0'; i++){ // выполнять до конца строки
        if((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')){ // проверка буква ли это
            if(word == false){
                word = true; // настройка всего на новое слово
                wordstart = i;
                wordend = i;
            }
            else{
                wordend++; // увеличение длины слова на 1 символ
            }
        }
        else{
            word = false; // копирывание в новый массив и сброс настроек на слово
            int j;
            int k = wordend - wordstart;
            if(freewords >= 100){
                return -1; // error
            }
            for(j = 0; j != k; j++){
                words[freewords][j] = str[wordstart++];
            }
            freewords++;
            wordstart = 0;
            wordend = 0;
        }
    }
}
Осталось только дописать в последнюю функцию алгоритм сравнения, который есть самая лёгкая часть

Вернуться к обсуждению:
Посчитать и вывести количество непохожих слов в строке
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2015, 22:28

Посчитать количество слов в строке
Всем привет!Зарегался я на форуме недавно,минут 5 назад.У меня есть проблема,моя...

Посчитать количество слов в строке
Здравствуйте! Дайте пожалуйста пример функции которая считает количество слов с строке с помощью...

Посчитать количество слов в строке
Посчитать количество слов в строке

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.