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

строки, именно строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ библиотека C++ http://www.cyberforum.ru/cpp-beginners/thread69980.html
Подскажите: #include <iostream.h> #include <conio.h> #include <cstdlib.h> //показывает ошибку int main() { clrscr(); cout << abs(-10); getch();
C++ матрицы Дана прямоугольная матрица. Определить количество особых элементов массива, считая его элементы особыми, если он больше суммы остальных элементов его столбца. парни помогите пожлуйсто, если не... http://www.cyberforum.ru/cpp-beginners/thread69971.html
C++ Функция fill Для двумерного массива
Как использовать функцию fill с двумерным массивом std::fill(array, array + size, 1.0); к примеру есть двумерный массив int massiv как всем его элементам присвоить значение ноль с помощью...
Исключительные ситуации C++
Как обработать исключительную ситуацию,когда переменная описана как int,к примеру,а вводится какой-нибудь char?А то нам как то в лекции мало дали про это....
C++ массив http://www.cyberforum.ru/cpp-beginners/thread69962.html
Определить длину наибольшей последовательности одинаковых чивел в массиве А(50) и вывести на экран значения элементов, из которых она состоит, индексы начального и конечного элементов этой...
C++ Массивы 1. Дана прямоугольная матрица размера m×n. Составить программу, которая находит столбцы с наибольшей и наименьшей суммой элементов. Вывести найденные столбцы и суммы их элементов. 2. Заданы два... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
03.12.2009, 12:37
Вот рабочий код на С
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 <windows.h>
#include <stdio.h>
 
char * str = (char *)malloc(sizeof(char));
//Организуем ввод текстового блока 
//до того как будет введен символ ch_end
char * enter_text(char * str, char ch_end);
 
int  * nWords = (int *)malloc(sizeof(int));
 
void main()
{
    int nSentences = 0;
    printf("\tEnter text block\r\n");
    str = enter_text(str, '\n');
    //Заменяем все знаки ! ? на точки
    //Далее при анализе под предложением 
    //понимаем совокупность символов с точкой вконце
    int sLen = strlen(str);
    for(int i = 0; i < sLen; i++)
    {
        if(str[i] == '!' || str[i] == '?' )
            str[i] = '.';
    }
    char * chBuf = strchr(str,'.');
    if(chBuf)
    {
        i = 0;
        nWords[nSentences] = strlen(str) - strlen(chBuf);
        chBuf = strchr(chBuf + 1,'.');
        nSentences++;
        nWords = (int *)realloc(
                (void *)nWords,(nSentences + 1)*sizeof(int));
        while(chBuf)
        {
            nWords[nSentences] = strlen(str) - strlen(chBuf) - nWords[nSentences - 1];
            if(nWords[i] < nWords[nSentences])
                i = nSentences;
            chBuf = strchr(chBuf + 1,'.');
            nSentences++;
            nWords = (int *)realloc(
                    (void *)nWords,(nSentences + 1)*sizeof(int));
        }
        printf("Text consist from %d sentences\r\n",nSentences);
        printf("Sentence with max word amount %d\r\n",i + 1);
    }
    else
        printf("Text doesn't contain any sentences");
    printf("Press NUM1 to enter new text\r\n");
    scanf("%d",&i);
    if(i == 1)
        main();
}
 
char * enter_text(char * str, char ch_end)
{
    if(str)
    {
        int i = 0;
        while((str[i] = getchar()) != ch_end)
        {
            i++;
            str = (char *)realloc((void *)str,sizeof(char)*(i + 1));
        }
    }
    return str;
}
1
Миниатюры
строки, именно строки  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.