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

Найти повторения слов в строке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввод массива из текстового файла http://www.cyberforum.ru/cpp-beginners/thread998854.html
Нужно ввести одномерный массив целых чисел из текстового файла. Напишите, пожалуйста, код этой программы (желательно с пояснениями).
C++ Какой результат программы Написать программу на с++ 1. Какой результат программы (при х=2, у=4): If(x>y) Cout<<x<<”bolshe”<<y<<”\n”; Else Cout<<x<<”menshe”<<y<<”\n”; http://www.cyberforum.ru/cpp-beginners/thread998848.html
C++ Создать функцию, которая принимает в качестве аргумента ссылку на string, и преобразует все буквы в верхний регистр
Задание такое: нужно создать функцию, которая принимает в качестве аргумента ссылку на string, и преобразует все буквы в верхний регистр, используя при этом функцию toupper(). А как работает эта функция с типом string? Вот так составил, но после работы функции ничего не изменилось. inline void low_to_up(string & arg) { for (int i = 0; arg != '\0'; i++) (char)toupper(arg); }
Адрес начала строки C++
Решал задачу на строки. Никак не выходит. Начал проверять каждый фрагмент отдельно. Объясните мне пожалуйста одну вещь. Я хочу получить адрес начала строки. Как мне это лучше сделать? Почему выводимые адреса различны? #include <iostream> #include <cstring> using namespace std; int main() { char str, *p1, *p2; gets (str); p1=str; p2=str;
C++ Определить сумму всех элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread998809.html
Объясните пожалуйста как решать эту задачку.Мне таких пока не встречалось.Как можно проще:gwink: Определить сумму всех элементов матрицы размерами N*M (N и M не больше 10). Матрицу сформировать из случайных чисел в диапазоне от –10 до 50.:impossible:
C++ Написать программу, организующую заполнение целого массива 1. Написать программу, организующую заполнение целого массива из n элементов случайными значениями (n – целая переменная) и корректный вывод массива. подробнее

Показать сообщение отдельно
папаКарил
 Аватар для папаКарил
10 / 3 / 1
Регистрация: 07.03.2011
Сообщений: 88
05.11.2013, 19:15     Найти повторения слов в строке
Нужно найти повторяющиеся слова и вывести "слово - количество повторов"
Например, строка "abc abc cba"
"abc - 2"
"cba -1"
Проблема в том, что как проверить несколько слов?
Попытался вызывать функцию, если еще остались символы кроме пробелов, вылетает ошибка
"Unhandled exception at 0x77c915ee in (lect5)strrepeat.exe: 0xC0000005: Access violation reading location 0x002e011d."
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
void words(char *str)
{
    char word[10];
    for(int i = 0;i<9; i++)
        word[i] = ' ';
    word[9] = '\0';
    //начало первого слова
    int numb= 0;
    while(str[numb] == ' ') numb++; 
    //копируем первое слово и заменяем на пробелы
    for(int i = 0; str[numb] !=  ' '; i++, numb++){
        word[i] = str[numb];
        str[numb] = ' ';
        word[i+1] = '\0';
        }    
    //ищем совпадения,считаем их и заменяем на пробелы 
    int counter = 1;
    char *p;
    p = strstr(str, word);
    while(p){
        counter++;
        for (int i =0; p[i] != ' '; i++)
            p[i] = ' ';
        p = strstr(str, word);
    }
    // выводим результат
    for(int i = 0; word[i] != '\0'; i++)
        printf("%c",word[i]);
    printf("- %d\n", counter);
    //проверяем, чтобы остались пробелы
    //не разрешает вызвать words(str)
    //из-за этого невозможно проверить на повторения больше 1 слова
    for(int i = 0; str[i]!= '\0';i++){
        if(str[i]!= ' '){
            words(str);
            break;
        }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru