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

Определить в каждом предложении текста колличество символов, отличных от букв и пробела - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ручная перерисовка компонентов http://www.cyberforum.ru/cpp-beginners/thread406733.html
Столкнулся с проблемой мерцания ListBox. В него выводится лог работы программы, с частотой добавления элементов 100-200 эл/сек. Собственно интересует как можно отключить автоматическую перерисовку компонента, и организовать перерисовку по таймеру.
C++ Строки Считать текст из файла и вывести на экран только строки, содержащие двузначные числа. http://www.cyberforum.ru/cpp-beginners/thread406731.html
Задача с массивами C++
Здравствуйте, уважаемые программисты. Ситуация плачевная. Взял контрольную на 4-ре, оказалась сложнее, чем на 5, и никто не знает как делать. Выручайте, завтра сдавать( Задача: Разместить в массиве ZERO только ненулевые элементы входного массива T(20), а потом их порядковые номера. Заранее благодарю. Добавлено через 30 минут если б не так срочно, то не страдал бы, но ситуация заставляет...
C++ Программа с тестовыми примерами
Написать программу расчета по двум формулам с тестовыми примерами z1=sin(4*a)/(1+cos(4*a))*cos(2*a)/(1+cos(2*a)) z2=ctg(3*pi/2-a)) #include "iostream.h" #include "conio.h" #include "math.h" #define pi 3.14 int main() {
C++ Алгоритм циклической структуры http://www.cyberforum.ru/cpp-beginners/thread406722.html
Попалась задача, где надо построить таблицу значений для x с шагом 0,75. Так-то программку написал, но одно "но", как сделать этот шаг. Знаю только как интервал 1 делать Console.Write(" "+ i++ ), а другие значения увы не знаю. Подскажите, пожалуйста.
C++ Объясните как решить??? Два робота A и B двигаются по плоскости, с заданной на ней прямоугольной декартовой системой координат (ось Y направлена снизу вверх, ось X – слева направо). Каждый робот может двигаться вниз, вверх, вправо или влево на N позиций, изменяя значение соответствующей координаты на N, где N – натуральное число. За один ход любой робот выполняет следующую последовательность действий: 1. Продвигается... подробнее

Показать сообщение отдельно
Artem-
0 / 0 / 1
Регистрация: 25.11.2012
Сообщений: 9
26.05.2013, 13:42     Определить в каждом предложении текста колличество символов, отличных от букв и пробела
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <alloc.h>
#include <conio.h>
void poisk(char *st,int from,int *pred_end,int dlintext);
void main(void)
{
 FILE *f_in,*f_out;
 char *st,*imyafaila=(char*)malloc(80*sizeof(char));
 int i,k,j,n,m,dlintext,pred_end,pred_beg,symbol;
 do                                                    /* proverka pravilnosti imeni */
  {
   clrscr();
   printf("\n vvedite imya faila dlya schitivaniya informacii: \n");
   scanf("%s",imyafaila);
   f_in=fopen(imyafaila,"rb");
  }
 while (f_in==NULL);
 fseek(f_in,0,SEEK_END);
 dlintext=ftell(f_in);
 if (dlintext==0)
  printf("Fail pustoy!\n\n");
 else
 {
 st=(char*)malloc((dlintext+1)*sizeof(char)); /* pamyat pod stroki*/
 fseek(f_in,0,SEEK_SET);
 for(i=0;i<dlintext;i++)          /* schitivanie texta */
  fscanf(f_in,"%c",&st[i]);
 *(st+dlintext)='\0';              /* vstavka v konec stroki priznak okonch. texta*/
 printf("\n text faila: \n \n");
 for(i=0;i<dlintext;i++)                  /* vivod na ekran texta */
  printf("%c",*(st+i));
 fclose(f_in);
 printf("\n\n nazmite klavishu dlya prodolzheniya \n\n\n");
 getch();
 }
i=0;
while(i<dlintext)
 {
  clrscr();
  pred_beg=i;
  poisk(st,i,&pred_end,dlintext);
  textcolor(7);
  for(j=0;j<pred_beg;j++)
     printf("%c",*(st+j));
  textcolor(2);
for(j=pred_beg;j<(pred_end+1);j++)
   putch(*(st+j));
   textcolor(7);
  for(j=(pred_end+1);j<dlintext;j++)
      printf("%c",*(st+j));
  i=pred_end;
  symbol=0;
  getch();
k=pred_beg;
while(k<pred_end+1)
   {
     clrscr();
     textcolor(7);
     for(j=0;j<pred_beg;j++)
      printf("%c",*(st+j));
       textcolor(2);
   for(m=pred_beg;m<k;m++)
       putch(*(st+m));
   for(m=k;m<(pred_end+1);m++)
    {
     if(!isalpha(*(st+m))&&!isspace(*(st+m)) )
        {
         symbol++;
         textcolor(YELLOW);
         putch(*(st+m));
         break;
        }
     putch(*(st+m));
    }
     textcolor(2);
     for(j=(m+1);j<(pred_end+1);j++)
      putch(*(st+j));
     textcolor(7);
     for(j=(pred_end+1);j<dlintext;j++)
      printf("%c",*(st+j));
      k=m;
      k++;
     getch();
 
 
   }
 i++;
 printf("\n\n\n ________________________________________________________ \n kolichestvo simvolov otlichnih ot bukvi i probela v predlozhenii : %2d",symbol);
 getch();
 }
 
 
 
 
 free(st);
 free(imyafaila);
 getch();
}
 
 
 
void poisk(char *st,int from,int *pred_end,int dlintext)
{
  int i,j;
  for(i=from;i<dlintext;i++)
   {
     *pred_end=from;
     if (i==dlintext ||  *(st+i)=='!' || *(st+i)=='?' )
       {
    *pred_end=i;
     for(j=(i+1);j<dlintext+1;j++)
          {
           if(isalpha(*(st+j)))
             if(isupper(*(st+j)))
              {
               *pred_end=j-1;
               break;
              }
             else
               ;
           else
             if(*(st+j)=='\0')
            *pred_end=j-1;
          }
    }
     else
    {
       if(*(st+i)=='.')
        {
         *pred_end=i;
          for(j=(i+1);j<dlintext+1;j++)
          {
           if(isalpha(*(st+j)))
             if(isupper(*(st+j)))
              {
               *pred_end=j-1;
               break;
              }
             else
               ;
           else
             if(*(st+j)=='\0')
            *pred_end=j-1;
          }
        }
         if(*pred_end!=from)
          break;
    }
    }
return;
}
 
Текущее время: 14:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru