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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
#1

Как правильно пользоваться функцией strtok - C++

07.11.2012, 13:37. Просмотров 1351. Ответов 24
Метки нет (Все метки)

Как правильно пользоваться етой ф-цией? Набросал код, надо пока разбить строку на слова(ф-ция int lek).
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void invert(char[], int);
int count(char[], int, int);
int lek(char[], int);
void out(char[], int);
int main()
{
 char x[100];
 inp(x);
 int res = 0; 
 int size = strlen(x);
 invert(x, size);
 lek(x, size);
 count(x, size, res);
 out(x, count(x, size, res));
 return 0;
}
void inp(char x[])
 {
  cout <<"Input string:";
  gets(x);
  cout << endl;
 }
void invert(char x[], int size)
 {
  for(int i=0;i<size/2;i++)
   {
    char  a;    
    a=x[i];
    x[i]=x[size-1-i];
    x[size-1-i]=a;
   }
 }
int count(char x[], int size, int res)
{
    for (int i=0; i<size; i++)
        if (x[i]>='0' && x[i]<='9')
            res++;
    return res;
}
int lek(char x[], int size) 
{
    char* p;
    p=strtok(x, " ");
    for(int i = 0; i<size; i++)
    {
        cout<<"Slovo "<<i+1<<":"<<p[i]<<endl;
    }
    return 0;   
}
void out(char x[], int res)
 {
  cout<<"K-st cufr v recenny:  "<<res<<endl;
  cout<<"Invert str:  ";
  puts(x);
  getch();
}
Добавлено через 50 секунд
И как потом использовать ети "слова" в других ф-ция или циклах(например удалить слова которые начинаються с гласной буквы)?

Добавлено через 53 секунды
P.S. Пока оно выводит просто каждую букву, а не слово.

Добавлено через 16 минут
чуть переработал код(вывод сделал каждой ф-ции)
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void invert(char[], int);
int count(char[], int, int);
int lek(char[], int);
int main()
{
 char x[100];
 inp(x);
 int res = 0; 
 int size = strlen(x);
  invert(x, size);
 count(x, size, res);
 lek(x, size);
 getch();
 return 0;
}
void inp(char x[])
 {
  cout <<"Input string:";
  gets(x);
  cout << endl;
 }
void invert(char x[], int size)
 {
  for(int i=0;i<size/2;i++)
   {
    char  a;    
    a=x[i];
    x[i]=x[size-1-i];
    x[size-1-i]=a;
   }
  cout<<"Invert str:  ";
  puts(x);
 }
int count(char x[], int size, int res)
{
    for (int i=0; i<size; i++)
        if (x[i]>='0' && x[i]<='9')
            res++;
    return res;
    cout<<"K-st cufr v recenny:  "<<res<<endl;
}
int lek(char x[], int size) 
{
    char* p;
    p=strtok(x, " ");
    for(int i = 0; i<size; i++)
    {
        cout<<"Slovo "<<i+1<<":"<<p[i]<<endl;
    }
    return 0;   
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2012, 13:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно пользоваться функцией strtok (C++):

Как пользоваться функцией GetFileSize() ? - C++
Привет. В builder'e выполняю следующий код: char str = ''; unsigned long FileSize = 0; GetFileSize('C:\file.exe', &amp;FileSize); ...

Как пользоваться функцией rand()? - C++
Все привет. Пытаюсь пользоваться функцией rand(), а получаю сообщение Это разве идентификатор? #include &quot;stdafx.h&quot; ...

Как пользоваться функцией gettime() - C++
Добрый вечер! Кто бы мог подробно объяснить как работает функция gettime(), откуда взять конечное и начальное время, как определить...

Как пользоваться функцией fgetpos, fsetpos? - C++
Не могу понять по какому принципу они работают. Открывал файл на чтение. В файле уже были несколько строчек. Хотел считать их в чаровскую...

Что то не то с функцией strtok!!! - C++
Вот есть код: #include&lt;string.h&gt; #include&lt;iostream.h&gt; int main() { char *string1 = &quot;sdfsdf sdfs gjhg 1 h5jj&quot;; char *string2...

как правильно пользоваться - C++
Здравствуйте, нашел интересный код для интересной задачи (Удалить комментарии из файла), но как сделать так,чтобы программа брала input.txt...

24
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
08.11.2012, 20:25 #16
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void invert(char[], int);
void count(char[], int, int);
void lek(char[], int);
void deletes(char[], int);
int main()
{
 char x[100];
 inp(x);
 int res = 0; 
 int size = strlen(x);
 //count(x, size, res);
 cout <<"String witout a-words:";
 lek(x, size);
 //invert(x, size);
 getch();
 return 0;
}
void inp(char x[])
 {
  cout <<"Input string:";
  gets(x);
  cout << endl;
 }
void invert(char x[], int size)
 {
  for(int i=0;i<size/2;i++)
   {
    char  a;    
    a=x[i];
    x[i]=x[size-1-i];
    x[size-1-i]=a;
   }
  cout<<"Invert str:  ";
  puts(x);
 }
void count(char x[], int size, int res)
{
    for (int i=0; i<size; i++)
        if (x[i]>='0' && x[i]<='9')
            res++;
    cout<<"K-st cufr v recenny:  "<<res<<endl;
}
void lek(char s[], int size) 
{
    int i;
    for(i = 0; i < size; i++){
      if((s[i] == 'A' || s[i] == 'E' || s[i] == 'Y' || s[i] == 'U' || s[i] == 'I' || s[i] == 'O' || 
          s[i] == 'a' || s[i] == 'e' || s[i] == 'y' || s[i] == 'u' || s[i] == 'i' || s[i] == 'o')&&s[i-1]==' '&&s[i+1]!=' '){
            for(int j = i; j < size; j++){
              if(s[j] == ' '){
                break;
                  }
                    s[j] = ' ';
                    }
            }       
    }
    for (i = 0; i < size; i++)
        {
            if ((s[i]==' ') && (s[i+1]==' '))
                deletes(s,i+1);
        }
    cout <<s;
}
void deletes(char s[], int pos)
{ int i;
if ((s[pos]== ' ') && (s[pos+1]== ' '))
{ deletes(s,pos+1); }
for (i = pos; i < strlen(s); i++)
 {
  s[i]=s[i+1];
}
s[i]=0;
}
1
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
08.11.2012, 20:38  [ТС] #17
vasiliy21, теперь работает, но если первое слово будет введено без пропуска, то его не удалит, но ето уже такое... спасибо большое)

Добавлено через 4 минуты
vasiliy21, и еще один вопрос, как сделать чтоб все 3 ф-ции(инвертирование строки, подсчет цифр и удаление ненужного слово) работали независимо, а то удаленная строка выводится уже инвертированой
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void invert(char[], int);
void count(char[], int, int);
void lek(char[], int);
void deletes(char[], int);
int main()
{
 char x[100];
 inp(x);
 int res = 0; 
 int size = strlen(x);
 invert(x, size);
 count(x, size, res);
 cout <<"String witout a-words: ";
 lek(x, size);
 getch();
 return 0;
}
void inp(char x[])
 {
  cout <<"Input string: ";
  gets(x);
  cout << endl;
 }
void invert(char x[], int size)
 {
  for(int i=0;i<size/2;i++)
   {
    char  a;    
    a=x[i];
    x[i]=x[size-1-i];
    x[size-1-i]=a;
   }
  cout<<"Invert str:  ";
  puts(x);
 }
void count(char x[], int size, int res)
{
    for (int i=0; i<size; i++)
        if (x[i]>='0' && x[i]<='9')
            res++;
    cout<<"K-st cufr v recenny:  "<<res<<endl;
}
void lek(char s[], int size) 
{
    int i;
    for(i = 0; i < size; i++){
      if((s[i] == 'A' || s[i] == 'E' || s[i] == 'Y' || s[i] == 'U' || s[i] == 'I' || s[i] == 'O' || 
          s[i] == 'a' || s[i] == 'e' || s[i] == 'y' || s[i] == 'u' || s[i] == 'i' || s[i] == 'o')&&s[i-1]==' '&&s[i+1]!=' '){
            for(int j = i; j < size; j++){
              if(s[j] == ' '){
                break;
                  }
                    s[j] = ' ';
                    }
            }       
    }
    for (i = 0; i < size; i++)
        {
            if ((s[i]==' ') && (s[i+1]==' '))
                deletes(s,i+1);
        }
    cout <<s;
}
void deletes(char s[], int pos)
{ int i;
if ((s[pos]== ' ') && (s[pos+1]== ' '))
{ deletes(s,pos+1); }
for (i = pos; i < strlen(s); i++)
 {
  s[i]=s[i+1];
}
s[i]=0;
}
0
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
08.11.2012, 21:14 #18
Опиши две отдельных строки, для инвертации и для удаления слов!

Добавлено через 7 минут
и для подсчета цифр
0
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
08.11.2012, 21:27  [ТС] #19
vasiliy21, типа так?
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void invert(char[], int);
void count(char[], int, int);
void del(char[], int);
void deletes(char[], int);
int main()
{
 char x[100];
 inp(x);
 int res = 0; 
 int size = strlen(x);
 char* X=x;
 invert(X, size);
 count(x, size, res);
 del(x, size);
 getch();
 return 0;
}
void inp(char x[])
{
    cout <<"Input string: ";
    gets(x);
    cout << endl;
}
void invert(char X[], int size)
{
    for(int i=0;i<size/2;i++)
    {
        char  a;    
        a=X[i];
        X[i]=X[size-1-i];
        X[size-1-i]=a;
    }
    cout<<"Invert string:  ";
    puts(X);
}
void count(char x[], int size, int res)
{
    for (int i=0; i<size; i++)
        if (x[i]>='0' && x[i]<='9')
            res++;
    cout<<"Digits in string:  "<<res<<endl;
}
void del(char s[], int size) 
{
    int i;
    for(i = 0; i < size; i++)
    {
      if((s[i] == 'A' || s[i] == 'E' || s[i] == 'Y' || s[i] == 'U' || s[i] == 'I' || s[i] == 'O' || 
           s[i] == 'a' || s[i] == 'e' || s[i] == 'y' || s[i] == 'u' || s[i] == 'i' || s[i] == 'o') &&s[i-1]==' '&&s[i+1]!=' ')
      {
        for(int j = i; j < size; j++)
        {
            if(s[j] == ' '){
                break;
                  }
            s[j] = ' ';
        }
      }       
    }
    for (i = 0; i < size; i++)
    {
        if ((s[i]==' ') && (s[i+1]==' '))
            deletes(s,i+1);
    }
         cout <<"String witout a-words: "<<s;
}
void deletes(char s[], int pos)
{ 
    int i;
    if ((s[pos]== ' ') && (s[pos+1]== ' '))
        deletes(s,pos+1);
    for (i = pos; i < strlen(s); i++)
    {
        s[i]=s[i+1];
    }
    s[i]=0;
}

так тоже не канает(

Добавлено через 7 минут
а так канает)
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void invert(char[], int);
void count(char[], int, int);
void del(char[], int);
void deletes(char[], int);
int main()
{
 char x[100];
 inp(x);
 int res = 0; 
 int size = strlen(x);
 char* X=x;
 cout<<"Invert string:  ";
 puts(X);
 invert(X, size);
 invert(X, size);
 count(x, size, res);
 del(x, size);
 getch();
 return 0;
}
void inp(char x[])
{
    cout <<"Input string: ";
    gets(x);
    cout << endl;
}
void invert(char X[], int size)
{
    for(int i=0;i<size/2;i++)
    {
        char  a;    
        a=X[i];
        X[i]=X[size-1-i];
        X[size-1-i]=a;
    }
}
void count(char x[], int size, int res)
{
    for (int i=0; i<size; i++)
        if (x[i]>='0' && x[i]<='9')
            res++;
    cout<<"Digits in string:  "<<res<<endl;
}
void del(char s[], int size) 
{
    int i;
    for(i = 0; i < size; i++)
    {
      if((s[i] == 'A' || s[i] == 'E' || s[i] == 'Y' || s[i] == 'U' || s[i] == 'I' || s[i] == 'O' || 
           s[i] == 'a' || s[i] == 'e' || s[i] == 'y' || s[i] == 'u' || s[i] == 'i' || s[i] == 'o') &&s[i-1]==' '&&s[i+1]!=' ')
      {
        for(int j = i; j < size; j++)
        {
            if(s[j] == ' '){
                break;
                  }
            s[j] = ' ';
        }
      }       
    }
    for (i = 0; i < size; i++)
    {
        if ((s[i]==' ') && (s[i+1]==' '))
            deletes(s,i+1);
    }
         cout <<"String witout a-words: "<<s;
}
void deletes(char s[], int pos)
{ 
    int i;
    if ((s[pos]== ' ') && (s[pos+1]== ' '))
        deletes(s,pos+1);
    for (i = pos; i < strlen(s); i++)
    {
        s[i]=s[i+1];
    }
    s[i]=0;
}
0
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
08.11.2012, 21:30 #20
канает но не инвертирует строку
0
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
08.11.2012, 21:33  [ТС] #21
токо опять проблема, если первое слово - гласное, оно не удалиться, разве поставить перед ним пробел. может можно както так сделать чтоб пробел перед вводом автоматически поставить?

Добавлено через 1 минуту
vasiliy21, блин, чет я ступил и не заметил((
0
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
08.11.2012, 21:35 #22
Я вот так сделал:

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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void invert(char[], int);
void count(char[], int);
void del(char[], int);
void deletes(char[], int);
int main()
{
 char x[100];
 inp(x);
 int size = strlen(x);
 invert(x, size);
 char y[100];
  cout<<"Enter string z figures: ";
 gets(y);
 int size1=strlen(y);
 count(y, size1);
 char z[100];
 cout<<"Enter string z golosnumu bukvamu: ";
 gets(z);
 int size2=strlen(z);
 del(z, size2);
 getch();
 return 0;
}
void inp(char x[])
{
    cout <<"Input string: ";
    gets(x);
    cout << endl;
}
void invert(char X[], int size)
{
    for(int i=0;i<size/2;i++)
    {
        char  a;    
        a=X[i];
        X[i]=X[size-1-i];
        X[size-1-i]=a;
    }
    cout<<"Invert string:  ";
    puts(X);
}
void count(char y[], int size)
{
    
     int res=0;
    for (int i=0; i<size; i++)
        if (y[i]>='0' && y[i]<='9')
            res++;
    cout<<"Digits in string:  "<<res<<endl;
}
void del(char s[], int size) 
{
     
    int i;
    for(i = 0; i < size; i++)
    {
      if((s[i] == 'A' || s[i] == 'E' || s[i] == 'Y' || s[i] == 'U' || s[i] == 'I' || s[i] == 'O' || 
           s[i] == 'a' || s[i] == 'e' || s[i] == 'y' || s[i] == 'u' || s[i] == 'i' || s[i] == 'o') &&s[i-1]==' '&&s[i+1]!=' ')
      {
        for(int j = i; j < size; j++)
        {
            if(s[j] == ' '){
                break;
                  }
            s[j] = ' ';
        }
      }       
    }
    for (i = 0; i < size; i++)
    {
        if ((s[i]==' ') && (s[i+1]==' '))
            deletes(s,i+1);
    }
         cout <<"String witout a-words: "<<s;
}
void deletes(char s[], int pos)
{ 
    int i;
    if ((s[pos]== ' ') && (s[pos+1]== ' '))
        deletes(s,pos+1);
    for (i = pos; i < strlen(s); i++)
    {
        s[i]=s[i+1];
    }
    s[i]=0;
}
1
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
08.11.2012, 21:43  [ТС] #23
vasiliy21, а я попробовал в ф-ции удаления вызвать ещераз инвертирование, чтоб строка стала токой как была, но чтото не очень получилось у меня.
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void invert(char[], int);
void count(char[], int, int);
void del(char[], int, int);
void deletes(char[], int);
int main()
{
 char x[100];
 inp(x);
 int res = 0; 
 int size = strlen(x);
 char* X=x;
 invert(X, size);
 count(x, size, res);
 del(x, size, invert(X, size));
 getch();
 return 0;
}
void inp(char x[])
{
    cout <<"Input string: ";
    gets(x);
    cout << endl;
}
void invert(char X[], int size)
{
    for(int i=0;i<size/2;i++)
    {
        char  a;    
        a=X[i];
        X[i]=X[size-1-i];
        X[size-1-i]=a;
    }
    cout<<"Invert string:  ";
    puts(X);
}
void count(char x[], int size, int res)
{
    for (int i=0; i<size; i++)
        if (x[i]>='0' && x[i]<='9')
            res++;
    cout<<"Digits in string:  "<<res<<endl;
}
void del(char s[], int size, int invert(X, size)) 
{
    invert(X, size);
    int i;
    for(i = 0; i < size; i++)
    {
      if((s[i] == 'A' || s[i] == 'E' || s[i] == 'Y' || s[i] == 'U' || s[i] == 'I' || s[i] == 'O' || 
           s[i] == 'a' || s[i] == 'e' || s[i] == 'y' || s[i] == 'u' || s[i] == 'i' || s[i] == 'o') &&s[i-1]==' '&&s[i+1]!=' ')
      {
        for(int j=i;j<size;j++)
        {
            if(s[j]==' '){
                break;
                  }
            s[j]=' ';
        }
      }       
    }
    for (i=0;i<size;i++)
    {
        if ((s[i]==' ')&&(s[i+1]==' '))
            deletes(s,i+1);
    }
         cout <<"String witout a-words: "<<s;
}
void deletes(char s[], int pos)
{ 
    int i;
    if ((s[pos]==' ') && (s[pos+1]==' '))
        deletes(s,pos+1);
    for (i = pos; i < strlen(s); i++)
    {
        s[i]=s[i+1];
    }
    s[i]=0;
}
0
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
08.11.2012, 21:56 #24
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void invert(char[], int);
void count(char[], int, int);
void del(char[], int);
void deletes(char[], int);
int main()
{
 char x[100];
 inp(x);
 int res = 0; 
 int size = strlen(x);
 char* X=x;
 invert(X, size);
 count(x, size, res);
 del(x, size);
 getch();
 return 0;
}
void inp(char x[])
{
    cout <<"Input string: ";
    gets(x);
    cout << endl;
}
void invert(char X[], int size)
{
    for(int i=0;i<size/2;i++)
    {
        char  a;    
        a=X[i];
        X[i]=X[size-1-i];
        X[size-1-i]=a;
    }
    cout<<"Invert string:  ";
  puts(X);
}
void count(char x[], int size, int res)
{
    for (int i=0; i<size; i++)
        if (x[i]>='0' && x[i]<='9')
            res++;
    cout<<"Digits in string:  "<<res<<endl;
}
void del(char s[], int size) 
{
    invert(s, size);
    int i;
    for(i = 0; i < size; i++)
    {
      if((s[i] == 'A' || s[i] == 'E' || s[i] == 'Y' || s[i] == 'U' || s[i] == 'I' || s[i] == 'O' || 
           s[i] == 'a' || s[i] == 'e' || s[i] == 'y' || s[i] == 'u' || s[i] == 'i' || s[i] == 'o') &&s[i-1]==' '&&s[i+1]!=' ')
      {
        for(int j=i;j<size;j++)
        {
            if(s[j]==' '){
                break;
                  }
            s[j]=' ';
        }
      }       
    }
    for (i=0;i<size;i++)
    {
        if ((s[i]==' ')&&(s[i+1]==' '))
            deletes(s,i+1);
    }
         cout <<"String witout a-words: "<<s;
}
void deletes(char s[], int pos)
{ 
    int i;
    if ((s[pos]==' ') && (s[pos+1]==' '))
        deletes(s,pos+1);
    for (i = pos; i < strlen(s); i++)
    {
        s[i]=s[i+1];
    }
    s[i]=0;
}
2
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
08.11.2012, 22:12  [ТС] #25
vasiliy21, спасибо, теперь понял как фцию в фции вызвать)
0
08.11.2012, 22:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2012, 22:12
Привет! Вот еще темы с ответами:

Как в C++ правильно пользоваться полиморфизмом? - C++
Объясните пожалуйста как правильно пользоваться полиморфизмом в плюсах. Задача такая - есть некий абстрактный класс с виртуальными...

Отладчики - какая от них польза и как ими правильно пользоваться? - C++
Какую пользу несут отладчики и как ими правильно пользоваться? Нет, как его запустить я себе представляю (благо иде помогает), но что я...

Как правильно пользоваться typedef для декларации типа указателя на функцию? - C++
Мне нужны будут функции, принимающие параметр-указатель на функции с одним и тем же списком параметров и возвращаемым типом. Как правильно...

Как правильно работать с функцией window()? - C++
Задача такая. Вывести в верхней части экрана небоольшой заголовок с менюшками. Затем прочитать файл и вывести его с прокруткой в оставшейся...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

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